Board logo

标题: [文本处理] 【已解决】批处理:多个txt文本一一对应合并 [打印本页]

作者: 思想之翼    时间: 2013-2-18 18:58     标题: 【已解决】批处理:多个txt文本一一对应合并

本帖最后由 思想之翼 于 2013-3-7 08:45 编辑

用一个批处理代码处理一组数据,得到一个名为new1文件夹,该文件夹里有63个名为01-63的小文件夹,名为01的小文件夹里有6个名为01_1、01_2、01_3、01_4、01_5、01_6的txt文本;同样,名为02的小文件夹里有6个名为02_1、02_2、02_3、02_4、02_5、02_6的txt文本;03-63小文件夹里也有类似上述命名的6个txt文本。每个txt里的数值格式是:序号+数值,序号降序排列。

由于数据很多,这个批处理代码运行非常耗时,所以该组数据后续添加数值后,再用这个批处理代码仅处理后续添加的数值,得到一个名为new2的文件夹,该文件夹同上一样,也有63个名为01-63的小文件夹,每个小文件夹里也有与上述一样命名的6个txt文本。

现欲将前后2次运行同一批处理得到的new1、new2文件夹里的txt文本,进行一一对应合并,即将文件夹new2中01文件夹里01_1.txt的数值,添加到文件夹new1中01文件夹里01_1.txt的下面;将文件夹new2中01文件夹里01_2.txt的数值,添加到文件夹new1中01文件夹里01_2.txt的下面......这样的合并文本批处理代码如何写?恳望大师帮助!


------谢谢关注!apang大师已给出代码。再次感谢apang!!
作者: BAT-VBS    时间: 2013-2-18 22:59

代码贴出来给大家分享一下?
作者: 思想之翼    时间: 2014-4-5 23:29

@echo off
set "SrcDir1=C:\abc\New"
set "SrcDir2=D:\123\New"
set "DstDir=%~dp0合并"
xcopy "%SrcDir1%\*.txt" "%DstDir%\" /sy >nul
for /r "%DstDir%\" %%a in (*.txt) do (
  set "a=%%a"
  setlocal enabledelayedexpansion
  set "b=!a:%DstDir%=%SrcDir2%!"
  if exist "!b!" copy /b "!a!" + "!b!" "!a!"
  endlocal
)
pause




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