2015-09-08 34 views
1

我打电话我的批处理文件,如下传递包含逗号批处理文件中的参数和替换

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

您需要延迟扩展。此外,要摆脱双引号,您应该使用%~1而不是%1。你在百分号上加倍以显示文字% s是正确的。

@echo off 
setlocal enabledelayedexpansion 

set var1=%~1 
set var1=!var1:,=%%5c%%2c! 

echo !var1! 
pause 
相关问题