0

我必须使用批处理文件替换 XML 节点属性值,XSLT 和其他方法不是一个选项。

要查找的节点属性: add key="RemEnabled" value="true" />

替换为: add key="RemEnabled" value="false" />

我正在努力解决有引号的事实,到目前为止我所拥有的是:

echo off
setlocal enabledelayedexpansion
set txtfile=x.config
set newfile=xnew.config
if exist "%newfile%" del /f /q "%newfile%"
for /f "tokens=*" %%a in (%txtfile%) do (
set newline=%%a 
set newline=!newline:^"RemEnabled^" value=^"true^"=^"RemEnabled^" value=^"false^"!
echo !newline! >> %newfile%
)

非常感谢任何帮助

4

1 回答 1

1

这使用了一个名为 repl.bat 的帮助批处理文件,来自 - http://www.dostips.com/forum/viewtopic.php?f=3&t=3855

type file.xml|repl "(.*add key=\x22RemEnabled\x22 value=\x22)true(\x22 \/>.*)" "$1false$2" >file2.xml
于 2013-09-05T14:21:16.027 回答