如何用cmd.exe中的百分号字符replace?

Windows命令提示符中,我试图用string%20replaceset string=Hello World中的空格。 天真地尝试使用string文字%20像这样:

 set string=%string: =%20% 

导致HelloWorld20% 。 试图使用转义字符^像这样:

 set string=%string: =^%20% 

也导致HelloWorld20% 。 试图通过加倍来逃避%

 set string=%string: =%%20% 

导致HelloWorld%20% 。 我也尝试使用另一个variables来做这样的replace:

 set r=%20 set string=%string: =%r%% 

这导致HelloWorldr%%

我发现这个 ,它处理variables中字符百分比的转义。 我也发现这个 ,它处理百分号字符的转义input。 但似乎都不适用于stringreplace。

我在网上find的Windows cmd.exe的tutorial / docu页面告诉我我有正确的语法,但不包括用百分号replace字符。

读完所有这些之后,我试着:

 setlocal EnableDelayedExpansion set string=!string: =%20! 

这会导致!string: =%20!

我没有想法,你能帮忙吗?

Solutions Collecting From Web of "如何用cmd.exe中的百分号字符replace?"