Board logo

标题: [文本处理] [已解决]BAT批处理如何将多个文件夹里面的多个文本文件合并? [打印本页]

作者: gannh    时间: 2014-5-8 07:03     标题: [已解决]BAT批处理如何将多个文件夹里面的多个文本文件合并?

本帖最后由 pcl_test 于 2016-7-19 12:17 编辑

如题,现有N个文件夹,分别为a、b、c、d.....其中文件夹里面有数量 不等的M个文本文件,现想
将文本文件按文件夹的顺序合并成一个大的文本文件,请问这样可以实现吗?谢谢!如:
a文件夹下有1.txt 2.txt 3.txt 4.txt
b文件夹下有1.txt b.txt 3.txt
c文件夹下有1.txt b.txt 3.txt ee.txt gg.txt
现想实现将不同文件夹下的相同文件按顺序合并并输出到一个新的文本文件
1.txt+1.txt+1.txt=1.txt
2.txt
b.txt+b.txt=b.txt
3.txt+3.txt+3.txt=3.txt
4.txt
ee.txt
gg.txt
作者: apang    时间: 2014-5-8 09:41

  1. @echo off
  2. md "d:\Result" 2>nul
  3. pushd "d:\Test\"
  4. for /r %%a in (*.txt) do type "%%a" >> "d:\Result\%%~nxa"
复制代码

作者: gannh    时间: 2014-5-8 21:43

谢谢apang哥的帮助
作者: gannh    时间: 2014-5-24 11:03

再请教apang哥,如果文本文件在不同磁盘不同目录下,如何合并呢,谢谢
作者: czjt1234    时间: 2014-5-24 11:06

回复 4# gannh


    重复3、4两行
作者: gannh    时间: 2014-5-24 12:43

谢谢czjt1234,同问,为什么 我这样写代码,运行出来的内容跟上面的不一样?》谢谢
@echo off
md "d:\Result" 2>nul
pushd "d:\Test1\""e:\test2\"
for /r %%a in (*.txt) do type "%%a" >> "d:\Result\%%~nxa"
作者: czjt1234    时间: 2014-5-24 15:20

这样子重复

@echo off
md "d:\Result" 2>nul
pushd "d:\Test1\"
for /r %%a in (*.txt) do type "%%a" >> "d:\Result\%%~nxa"
pushd "e:\Test2\"
for /r %%a in (*.txt) do type "%%a" >> "d:\Result\%%~nxa"
作者: gannh    时间: 2014-5-26 16:27

回复 7# czjt1234


    我后来的代码是这样的,但我自己之前尝试的代码也能运行,但为什么跟你的,运行结果不一样?谢谢
作者: gannh    时间: 2014-10-11 14:01

回复 2# apang

请问,用这个命令合并的数据,个别文件出现了合并混乱的情况(如1.txt和2.txt文件合并了),请问是什么原因呢?谢谢




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