[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理怎样将引号中的文字写入另一个文件?

求助!!!


1.txt   第一行和第N行分别为 material name="AAA"   material name="BBB" 。。。。。。。。。 第M行 有material name="ZZZ"
从第一行依次往下找,找到第一个material name= "AAA",则将AAA写到和txt同一目录的2.txt的第一行
往下找,找到material name="BBB" ,则将BBB写到2.txt的第二行
依次类推,找到第N个material name="ZZZ",则将ZZZ写到2.txt的行N行。
得到的2.txt 如下:
AAA
BBB
...
ZZZ

[ 本帖最后由 deito 于 2010-11-6 18:47 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  1. @echo off
  2. cd.>2.txt
  3. for /f "tokens=1* delims==" %%a in ('find /i "material name" ^<1.txt') do echo %%~b>>2.txt
  4. pause
复制代码
1

评分人数

TOP

楼上的大哥,material name="AAA"后面还有别的字符,需要去掉
例如,material name="AAAA " description=“TESG”

TOP

研究了一晚上,读懂了你的代码,搞定了
for /f "tokens=1* delims==" %%a in ('find /i "material name" ^<1.txt') do echo %%b>>2.txt
for /f "tokens=1 delims= " %%i in (2.txt) do echo %%~i>>3.txt

TOP

xml文件为什么不用DOM呢?
  1. set fso = CreateObject("Scripting.FileSystemObject")
  2. Set xmlDom = CreateObject("Microsoft.XMLDOM")
  3. xmlDom.async = "false"
  4. xmlDom.load "a.xml"
  5. set nodes = xmlDom.getElementsByTagName("material")
  6. for each node in nodes
  7. s = s & node.getAttribute("name") & vbCrLf
  8. next
  9. fso.OpenTextFile("material.txt",2,true).Write s
复制代码
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

返回列表