如何用批处理 改写一个 .xml 的文件的内容?

现在有F:\peizhi\Config.xml这样的文件这个文件的内容里是这样的<?xmlversion="1.0"encoding="utf-8"?><Optionsp... 现在有 F:\peizhi\Config.xml 这样的文件
这个文件的内容里是这样的
<?xml version="1.0" encoding="utf-8"?>
<Options peizhi="true">
</Options>

如何用 批处理 把这个文件的内容
<Options peizhi="true">
实现 如何 是true 改成false
如果是 false 改成true ?
展开
 我来答
yyykkkyyyy
2011-02-24 · TA获得超过3136个赞
知道大有可为答主
回答量:2691
采纳率:40%
帮助的人:3303万
展开全部
@echo off&color f1
setlocal enabledelayedexpansion
set fn=F:\peizhi\Config.xml
set s1=true
set s2=false
(for /f "tokens=2 delims=:" %%i in ('findstr/n ".*" "%fn%"')do (
set hh=%%i
if not "!hh!"=="" (set hh=!hh:%s1%=%s2%!
if "!hh!"=="%%i" set hh=!hh:%s2%=%s1%!)
echo.!hh!))>na.txt
move/y na.txt "%fn%"
pause

修改:想起一个问题,如果一行里true和false都有就会改错,改成下面:
@echo off&color f1
setlocal enabledelayedexpansion
set fn=F:\peizhi\Config.xml
set s1=true
set s2=false
(for /f "tokens=2 delims=:" %%i in ('findstr/n ".*" "%fn%"')do (
set hh=%%i
if not "!hh!"=="" (
set hh=!hh:%s1%=ゅ!
set hh=!hh:%s2%=ぅ!)
echo.!hh!))>na.txt
(for /f "tokens=2 delims=:" %%j in ('findstr/n ".*" na.txt')do (
set hh=%%j
if not "!hh!"=="" (
set hh=!hh:ぅ=%s1%!
set hh=!hh:ゅ=%s2%!)
echo.!hh!))>"%fn%"
del na.txt
pause
追问
。。你的有问题。

你的别我别的 节点的值也修改了。。。我只想要改
这个节点的值。
追答
哦,改写一下,(假定你要改的行就如样文件所示,这一行内再无别的true或false)
@echo off&color f1
setlocal enabledelayedexpansion
set fn=F:\peizhi\Config.xml
set s1=true
set s2=false
for /f "delims=:" %%a in ('findstr/in "Options.peizhi" "%fn%"')do set h%%a=y
(for /f "tokens=1* delims=:" %%i in ('findstr/in ".*" "%fn%"')do (
if not defined h%%i (echo.%%j)else (
set hh=%%j
if not "!hh!"=="" (set hn=!hh:%s1%=%s2%!
if "!hn!"=="!hh!" set hn=!hh:%s2%=%s1%!)
echo.!hn!
)))>ykytemp
move/y ykytemp "%fn%"
pause
阳光上的桥
2011-02-24 · 知道合伙人软件行家
阳光上的桥
知道合伙人软件行家
采纳数:21423 获赞数:65813
网盘是个好东东,可以对话和传文件

向TA提问 私信TA
展开全部
改为TRUE的批处理语句:
ECHO ^<?xml version="1.0" encoding="utf-8"?^> > Config.xml
ECHO ^<Options peizhi="true"^> >> Config.xml
ECHO ^</Options^> >> Config.xml

改为FALSE的批处理语句:
ECHO ^<?xml version="1.0" encoding="utf-8"?^> > Config.xml
ECHO ^<Options peizhi="false"^> >> Config.xml
ECHO ^</Options^> >> Config.xml
追问
我想灵活点。
先检查 如果 这个是true 就改成false
如果是 false 就改成true!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式