繁体   English   中英

将包含逗号的参数传递到批处理文件并替换

[英]Passing a parameter containing comma to a Batch file and replace

我正在按如下方式调用我的批处理文件

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

有人可以帮我解决这个问题吗? 谢谢 !

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

@echo off
setlocal enabledelayedexpansion

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

echo !var1!
pause

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM