我有这个字符串,叫它str,可能看起来像这个XinfoX。我想要一个命令,使用批处理,用这个符号'|'替换'X' (管道符号)。我已经尝试过了,但是 cmd 不断关闭/崩溃。
提前致谢
我有这个字符串,叫它str,可能看起来像这个XinfoX。我想要一个命令,使用批处理,用这个符号'|'替换'X' (管道符号)。我已经尝试过了,但是 cmd 不断关闭/崩溃。
提前致谢
使用变量编辑/替换请参阅此处了解详细信息
set str=XinfoX
echo %str:X=^|%
C:\>echo %str:X=^|%
|info|
您的命令正在崩溃,因为该|
角色充当管道运算符。但是您想将其用作文字字符。该字符必须被转义或引用。
set str=XinfoY
:: using quotes
set "str=%str:X=|%"
:: using escape
set str=%str:Y=^|%
如果您的字符串包含引号,使得某些字符串被引用而某些字符串没有被引用,那么情况可能会变得复杂。解决方案是使用延迟扩展。
setlocal enableDelayedExpansion
set str="Xinfo1X"info2X
set "str=!str:X=|!"