Board logo

标题: [文本处理] 批处理如何合并多个txt文本并将每个文本的文件名添加到该文本的内容前面 [打印本页]

作者: Qarclub    时间: 2016-11-20 10:51     标题: 批处理如何合并多个txt文本并将每个文本的文件名添加到该文本的内容前面

本帖最后由 pcl_test 于 2016-11-20 18:54 编辑

如何批处理合并TXT文档并将文件名添加到文档里的第一行
文件列表有
abc1.txt
abc2.txt
......
abc999.txt

想批处理将文件名添加到文档内容的第一行,
万分感谢。

作者: pcl_test    时间: 2016-11-23 00:01

  1. powershell -c "dir *.txt|%%{$_.Name;[IO.File]::ReadAllText($_, [Text.Encoding]::Default);''}|out-file '合并.log' -encoding Default"
  2. pause
复制代码

作者: w609053988    时间: 2016-11-23 21:42

  1. @echo off
  2. for /f %%i in ('dir /a /b *.txt') do (
  3. echo %%i>.\temp\%%i
  4. type "%%i">>.\temp\%%i
  5. )
  6. del /q *.txt
  7. pause
复制代码
试试这个,应该可以实现,但是会重新生成的新文件,然后删除之前的!
作者: GNU    时间: 2016-11-23 22:58

回复 3# w609053988


    无法处理带空格的文件名吧,你再想想。
作者: w609053988    时间: 2016-11-23 23:17

题目要求的文件名没带空格,可以实现,至于空格的问题我再想想。
作者: w609053988    时间: 2016-11-24 11:29

本帖最后由 w609053988 于 2016-11-24 11:30 编辑
  1. @echo off
  2. for /f "usebackq" %%i in (`dir /a /b *.txt`) do (
  3.         echo %%i>.\temp\%%i
  4.         type "%%i">>.\temp\%%i
  5. )
  6. del /q *.txt
  7. pause   
复制代码
这样改下,应该能处理带空格的吧!




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