Batch file 如何在批处理脚本中替换等号
我想用Batch file 如何在批处理脚本中替换等号,batch-file,batch-processing,Batch File,Batch Processing,我想用 for/f“tokens=*delims=“%%A in(%INTEXTFILE%)do( 设置字符串=%%A 延迟扩展 设置修改=!字符串:^=^>%OUTTEXTFILE% 端部 ) 输出:没有变化 由于等号和双引号而发现问题。@echo off @echo off SET "string=<Context useHttpOnly="false">" setlocal EnableDelayedExpansion echo String: !string! for /F
for/f“tokens=*delims=“%%A in(%INTEXTFILE%)do(
设置字符串=%%A
延迟扩展
设置修改=!字符串:^=^>%OUTTEXTFILE%
端部
)
输出:没有变化
由于等号和双引号而发现问题。@echo off
@echo off
SET "string=<Context useHttpOnly="false">"
setlocal EnableDelayedExpansion
echo String: !string!
for /F "tokens=1,2 delims==>" %%i in ("!string!") do (
if "%%i" equ "<Context useHttpOnly" if "%%~j" equ "false" set "modified=<Context>"
)
echo Modified: !modified!
设置“字符串=”
setlocal EnableDelayedExpansion
回音字符串:!一串
对于/F“tokens=1,2 delims==>”(!string!)中的%%i do(
如果“%%i”eq”这里有一个名为repl.bat的助手批处理文件-
此命令可能适用于您
type file.txt|repl "<Context.*.false.>" "<Context>" >newfile.txt
键入file.txt | repl“”>newfile.txt
Batch在我看来对这类东西来说很糟糕。你可以使用这样的方法:剥离属性。只需输入你想要保留的标签和属性,然后按submit。我想如果你必须多次这样做,这是行不通的。在处理字符串操作和特殊字符时,Batch是一个主要的麻烦。可以这样做,但不能没有限制。如果要执行字符串操作,强烈建议您使用其他脚本语言,如JScript/VBScript或PowerShell。请看,我已经尝试过了,但不起作用。我已在单独的bat文件中编写并运行了它,但没有成功。实际上,我必须在xml文件中替换此字符串。所以我必须在xml文件中找到它并替换它。。。
type file.txt|repl "<Context.*.false.>" "<Context>" >newfile.txt