我有这个字符串,称之为str,这可能看起来像是这个XinfoX。我想要一个命令,使用批处理,用这个符号替换'X'|' (管道符号)。我试过这个,但cmd一直关闭/崩溃。
提前致谢
答案 0 :(得分:0)
使用变量编辑/替换有关详细信息,请参阅here
set str=XinfoX
echo %str:X=^|%
C:\>echo %str:X=^|%
|info|
答案 1 :(得分:0)
您的命令崩溃,因为|
字符用作管道运算符。但是你想用它作为文字字符。该角色必须被转义或引用。
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=|!"