我想将<Context useHttpOnly="false">
替换为<Context>
for /f "tokens=* delims=" %%A in ( %INTEXTFILE%) do (
SET string=%%A
setlocal enabledelayedexpansion
SET modified=!string:^<Context useHttpOnly^="false"^>=^<Context!
echo !modified! >> %OUTTEXTFILE%
endlocal
)
输出:没有变化。
由于等号和双引号而发现问题。
答案 0 :(得分:2)
@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!
答案 1 :(得分:0)
这是一个名为repl.bat的助手批处理文件 - http://www.dostips.com/forum/viewtopic.php?f=3&t=3855
此命令可能适合您......
type file.txt|repl "<Context.*.false.>" "<Context>" >newfile.txt