用批处理文件替换xml节点属性

时间:2013-09-05 14:11:14

标签: batch-file

我必须使用批处理文件替换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%
)

任何帮助非常感谢

1 个答案:

答案 0 :(得分:1)

这使用了来自 - http://www.dostips.com/forum/viewtopic.php?f=3&t=3855

的名为repl.bat的帮助程序批处理文件
type file.xml|repl "(.*add key=\x22RemEnabled\x22 value=\x22)true(\x22 \/>.*)" "$1false$2" >file2.xml