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

[文本处理] 批处理实现多个子文件夹下的txt文件各自合并?

D盘里有一个tmp文件夹,下面很多子文件夹,里面有很多名为2-1,2-2……3-1,3-2……,4-1,4-2,4-3……5-1,5-2,5-3……这样的txt文件,现在我想批量把它们分别按数字顺序各自合并,也就是2开头的合并,3开头的合并,4开头的合并,2-1后面是2-2,2-3依次下去,之前找过很多批量合并软件都是把2-1后面合并的2-10,这样就把我的顺序打乱了,请高人帮忙。

因为有太多子文件夹,所以希望能够用一个批处理同时实现所有子文件夹各自合并。

需要每组的文件名数字不间断,以 - 为间隔合并同组文件,并只保留该组第一个文件:
  1. @echo off&setlocal enabledelayedexpansion
  2. for %%a in (*-1.txt) do set /a n+=1
  3. for /l %%a in (1 1 %n%) do (
  4.    set n=
  5.    for %%b in (%%a-*.txt) do (
  6.       set /a n+=1
  7.       copy /b "%%a-1.txt"+"%%a-!n!.txt"
  8.    )
  9.    del %%a-*.txt 3>>%%a-1.txt
  10. )2>nul
复制代码

TOP

很感谢啊。可以在单个文件夹下实现合并。
但是我子文件夹太多了,估计有上千个,可不可以修改一下让我将这个主文件夹下的所有子文件夹各自全部实现这样的合并。

TOP

版主,就是传说中的无所不能的神啊,我也想要一个这样的脚本呢,仿造一个
学习中。。。

TOP

返回列表