找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 40444|回复: 12

[文件操作] 请问如何用bat批处理向xml文件中添加内容和修改内容?

[复制链接]
发表于 2011-11-15 21:49:20 | 显示全部楼层 |阅读模式
一个xml文件内容如下:
<AAA〉
<BBB>1</BBB>
<CCC>C:\Program Files\findit\findit.exe< /CCC>
</AAA>


(1)希望通过批处理<CCC>C:\Program Files\findit\findit.exe< /CCC>之后加入的内容如下:
<CCC>C:\Program Files\ggtv\ggtv.exe</CCC>

(2)希望通过批处理修改<BBB>与</BBB>之间
的内容如下:
<BBB>0</BBB>

请教高手如何编写这两个批处理?
发表于 2011-11-15 21:55:54 | 显示全部楼层
  1. sed "s/<CCC>C:\\Program Files\\findit\\findit.exe<\/CCC>/&\n<CCC>C:\\Program Files\\ggtv\\ggtv.exe<\/CCC>/" a.xml >b.xml
复制代码
  1. sed "s/<BBB>1<\/BBB>/<BBB>0<\/BBB>/" a.xml >c.xml
复制代码
 楼主| 发表于 2011-11-15 22:04:01 | 显示全部楼层
回复 2# awk


  谢谢回复! 如果此XML文件保存在C:盘根目录下,完整的批处理应如何写呢???
发表于 2011-11-15 23:43:37 | 显示全部楼层
回复 3# nickzhou
  1. sed "s/<BBB>1<\/BBB>/<BBB>0<\/BBB>/" C:\a.xml >C:\c.xml
复制代码
 楼主| 发表于 2011-11-17 08:59:51 | 显示全部楼层
不能识别 SED 命令哦,还有其他办法吗?
发表于 2011-11-17 09:19:37 | 显示全部楼层
回复 5# nickzhou


命令行工具 sed.exe 下载地址:
http://bbs.bathome.net/thread-1114-1-1.html
发表于 2011-11-17 10:13:25 | 显示全部楼层
既然是xml,为何不直接用DOM操作?


  1. @set @n=0//&cscript.exe -e:jscript "%~f0"&exit/b
  2. f = "C:\\a.xml";
  3. xmldoc = new ActiveXObject("Msxml2.DOMDocument");
  4. xmldoc.async = false;
  5. xmldoc.load(f);
  6. els = xmldoc.getElementsByTagName("CCC");
  7. for (i=0; i<els.length; i++)
  8. {
  9.     el = els[i];
  10.     if (el.text=="C:\\Program Files\\findit\\findit.exe")
  11.     {
  12.         self = el.cloneNode(true);
  13.         el.parentNode.insertBefore(self,el);
  14.         el.text = "C:\\Program Files\\ggtv\\ggtv.exe";
  15.     }
  16. }
  17. els = xmldoc.getElementsByTagName("BBB");
  18. for (i=0; i<els.length; i++)
  19.     els[i].text="0";
  20. fso = new ActiveXObject("Scripting.FileSystemObject");
  21. fso.OpenTextFile(f+".new.xml",2,true,-1).write(xmldoc.xml);
复制代码
 楼主| 发表于 2011-11-17 13:35:42 | 显示全部楼层
第一条命令就执行不了,CMD一闪而过,请帮忙再解决下
发表于 2011-11-17 17:04:21 | 显示全部楼层
回复 8# nickzhou


7楼代码保存为C:\test.bat
打开一个CMD窗口,在里面运行C:\test.bat
发表于 2012-5-6 13:41:49 | 显示全部楼层
回复 9# Batcher


    老大,是不是一定要用到第三方工具才能修改XML文件?
发表于 2012-5-7 12:11:46 | 显示全部楼层
回复 10# 秋风·飞扬


    不是。BAT或VBS也行。
发表于 2012-5-7 12:20:20 | 显示全部楼层
回复 11# Batcher


   老大你的意思是bat+vbs?
发表于 2012-5-8 12:43:23 | 显示全部楼层
回复 12# 秋风·飞扬


    不是。没有+
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-19 01:04 , Processed in 0.020046 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表