Board logo

标题: [文件操作] 请问如何用bat批处理向xml文件中添加内容和修改内容? [打印本页]

作者: nickzhou    时间: 2011-11-15 21:49     标题: 请问如何用bat批处理向xml文件中添加内容和修改内容?

一个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>

请教高手如何编写这两个批处理?
作者: awk    时间: 2011-11-15 21:55

  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
复制代码

作者: nickzhou    时间: 2011-11-15 22:04

回复 2# awk


  谢谢回复! 如果此XML文件保存在C:盘根目录下,完整的批处理应如何写呢???
作者: awk    时间: 2011-11-15 23:43

回复 3# nickzhou
  1. sed "s/<BBB>1<\/BBB>/<BBB>0<\/BBB>/" C:\a.xml >C:\c.xml
复制代码

作者: nickzhou    时间: 2011-11-17 08:59

不能识别 SED 命令哦,还有其他办法吗?
作者: HAT    时间: 2011-11-17 09:19

回复 5# nickzhou


命令行工具 sed.exe 下载地址:
http://bbs.bathome.net/thread-1114-1-1.html
作者: powerbat    时间: 2011-11-17 10:13

既然是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);
复制代码

作者: nickzhou    时间: 2011-11-17 13:35

第一条命令就执行不了,CMD一闪而过,请帮忙再解决下
作者: Batcher    时间: 2011-11-17 17:04

回复 8# nickzhou


7楼代码保存为C:\test.bat
打开一个CMD窗口,在里面运行C:\test.bat
作者: 秋风·飞扬    时间: 2012-5-6 13:41

回复 9# Batcher


    老大,是不是一定要用到第三方工具才能修改XML文件?
作者: Batcher    时间: 2012-5-7 12:11

回复 10# 秋风·飞扬


    不是。BAT或VBS也行。
作者: 秋风·飞扬    时间: 2012-5-7 12:20

回复 11# Batcher


   老大你的意思是bat+vbs?
作者: Batcher    时间: 2012-5-8 12:43

回复 12# 秋风·飞扬


    不是。没有+




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2