当子串包含等号时,如何执行子串替换?

时间:2010-09-28 08:09:27

标签: batch-file cmd

在Windows批处理文件中,您可以使用此语法对变量执行搜索和替换:

set myvar=%myvar:foo=bar%

但是,当“foo”或“bar”包含等号时,如何执行此操作?用^转义它似乎不起作用......

谢谢。

1 个答案:

答案 0 :(得分:1)

为什么不使用vb​​script而不是与cmd.exe的怪癖作斗争呢?

Set objArgs = WScript.Arguments
strOld=objArgs(0)
strNew=objArgs(1)
str=Replace(WScript.StdIn.ReadAll,vbCrLf,"")
WScript.Echo Replace(str,strOld,strNew)

将上述内容另存为replace.vbs

用法:

C:\test>echo test| cscript //nologo replace.vbs te mi
mist