我正在调用我的批处理文件,如下所示
example.bat“abc,xyz”
现在,在批处理文件中,我需要将逗号,
替换为%5c%2c
set var1=%1
set var1=%var1:","=%5c%2c%
我甚至尝试过
set var1=%var1:","=%%5c%%2c%
set var1=%var1:,=%5c%2c%
但没有任何效果,它实际上是在最后添加替换而不是逗号。此外,参数最后用双引号打印。
我希望结果为:abc%5c%2c xyz
有人可以帮我解决这个问题吗?谢谢!
答案 0 :(得分:0)
你需要延迟扩展。另外,要删除双引号,您应该使用%~1
而不是%1
。你是正确的加倍百分号,以显示文字%
。
@echo off
setlocal enabledelayedexpansion
set var1=%~1
set var1=!var1:,=%%5c%%2c!
echo !var1!
pause