Board logo

标题: [文本处理] [已解决]批处理将文本a的内容添加到文本b的每行行首并删除文本a [打印本页]

作者: useinter    时间: 2017-9-7 21:45     标题: [已解决]批处理将文本a的内容添加到文本b的每行行首并删除文本a

大家好,有这样一个操作,还请会写批处理的朋友帮写下,十分感谢

有文本c.txt,c.txt里面只有一行文字,
需要将其内容插入到a.txt的每行行首
a.txt内有未知行,有时多有时少。
添加完成后,删除c.txt


c.txt内容示例
兰州理工大学-电路-缑新科+
a.txt内容示例
第1讲+flv+47.3M  
第2讲+flv+41.2M  
第3讲+flv+43.1M  
第4讲+flv+43.5M  
第5讲+flv+43.9M  
第6讲+flv+45.2M  
第7讲+flv+48.9M  
第8讲+flv+47.8M  
第9讲+flv+46.3M

以上c.txt只有一行的情况已经解决。

如果c.txt里有多行文本,如何只复制c.txt的第一行到a.txt的每行行首呢?
作者: taofan712    时间: 2017-9-7 21:56

本帖最后由 taofan712 于 2017-9-7 22:05 编辑

文本有查找替换功能,将 “第”全部替换为“兰州理工大学-电路-缑新科+第”。
  1. @echo off
  2. for /f "delims=" %%a in (c.txt) do for /f "delims=" %%b in (a.txt) do echo;%%a %%b>>new_a.txt
  3. move /y new_a.txt a.txt
  4. del c.txt
  5. echo;处理完毕&pause>nul
复制代码

作者: useinter    时间: 2017-9-7 23:12

本帖最后由 useinter 于 2017-9-7 23:13 编辑

回复 2# taofan712


多谢taofan712兄,可以使用。
第二行代码中for /f "delims=" %%a in (c.txt) do for /f "delims=" %%b in (a.txt) do echo;%%a %%b>>new_a.txt
%%a %%b中间有个空格,添加行首时文本间有空,删除空格就好了。

文本搜索功能,因为要处理的文本有点多,每次都得搜索替换太耗费精力。

十分感谢taofan712兄的帮助。

作者: useinter    时间: 2017-9-7 23:37

本帖最后由 useinter 于 2017-9-7 23:38 编辑

回复 2# taofan712


  taofan712兄,请问:
   如果c.txt里有多行文本,如何只复制c.txt的第一行到a.txt的每行行首呢?

作者: Nsqs    时间: 2017-9-8 01:17

  1. @echo off
  2. set/p s=<c.txt
  3. (for /f "delims=" %%1 in (a.txt)do echo %s%%%1)>c.txt
  4. move c.txt a.txt>nul
复制代码

作者: useinter    时间: 2017-9-8 11:55

回复 5# Nsqs


    Nsqs兄,可以使用,十分感谢




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