how to replace ! to %21 in batch elegantly?

Viewed 579

i want to replace ! to %21(url encode) in batch,my code works,but not elegantly at all,any good ideal to finish the job in one line?

set pwd=!xxxxxxx
set pwd=%pwd:!=@21@%
setlocal enableDelayedExpansion
echo !pwd:@21@=%%21!
setlocal disabledelayedexpansion
4 Answers
Related