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

[文本处理] [已解决]批处理怎样把多个文件夹中相同文本名称合并后生成在新文件夹中

202101文件夹内有以下文本
1.txt
2.txt
3.txt
4.txt
......
有N个文本
202102文件夹内有以下文本
1.txt
2.txt
3.txt
4.txt
......
有N个文本
202103文件夹内有以下文本
1.txt
2.txt
3.txt
4.txt
......
有N个文本
202104文件夹内有以下文本
1.txt
2.txt
3.txt
4.txt
......
有N个文本

202105文件夹内有以下文本
........
有N个文件夹
请帮忙写一个将以上N个文件夹中的N个同名的文本合并然后生成一个新的文件夹,文件夹中同样生成合并后同名的文本
合并文件夹内有以下文本
1.txt
2.txt
3.txt
4.txt
......
有N个文本

请老师抽空帮写一个批处理,谢谢!

回复 25# qixiaobin0715
老师你好!
恳请老师的帮助,以下是新贴,谢谢!
http://www.bathome.net/thread-60242-1-1.html

TOP

你是指合并后的文件吗?

TOP

回复 23# qixiaobin0715
好的,老师   现在就重新开个贴

TOP

不同的需求求助应当开个新帖,这样才能让更多的人看到,解决问题的概率更高些。并且你语焉不详,应当更详细些。
如何才叫重复?特定行是固定的还是有什么特征?

TOP

本帖最后由 PCL0769 于 2021-10-4 09:12 编辑

回复 8# Batcher
老师你好!
恳请老师的帮助,以下是新贴,谢谢!
http://www.bathome.net/thread-60242-1-1.html

TOP

回复 2# qixiaobin0715
老师好,还请帮忙增加一个去重复和去特定行的语句,谢谢!
SZ300951        20210226        4727036
SZ300999        20210226        201125534
SZ138811-QQ84299        20210226        0此行需要删除,20210226是按日期变化的一个变量

TOP

本帖最后由 PCL0769 于 2021-10-4 09:12 编辑

回复 15# newswan
老师你好!
恳请老师的帮助,以下是新贴,谢谢!
http://www.bathome.net/thread-60242-1-1.html

TOP

回复 15# newswan

谢谢老师!

TOP

代码放在D:\数据\周转 目录下:
  1. @echo off
  2. md "合并"
  3. for %%i in (202101\*.txt) do (
  4.     (for /f "delims=" %%a in ('dir /b /ad^|findstr /v/r "合并"') do (
  5.         type "%%a\%%~nxi"
  6.     ))>"合并\%%~nxi"
  7. )
  8. pause
复制代码

TOP

回复 14# PCL0769
可以在同一个目录,需要修改代码,加一个判断语句,或者先过滤掉合并文件夹。只不过这样代码显得不清爽,效率上也会牺牲一些。

TOP

或者,合并的文件,顺序在前
  1. D:.
  2. │   1.bat
  3. │   1.txt
  4. │   2.txt
  5. │   3.txt
  6. ├───11
  7. │       1.txt
  8. │       2.txt
  9. │       3.txt
  10. ├───22
  11. │       1.txt
  12. │       2.txt
  13. │       3.txt
  14. └───33
  15.         1.txt
  16.         2.txt
  17.         3.txt
复制代码

TOP

本帖最后由 newswan 于 2021-9-6 20:58 编辑

如果放源目录下,要排除合并的文件,避免被读取
  1. set sour=aaa
  2. set dest=bbb
  3. for /f  "usebackq tokens=* delims=" %%a in (`dir /s /b "%sour%\*.txt"`) do (
  4.     type "%%~fa" >> "%dest%\%%~na.txt"
  5. )
复制代码

TOP

知道是什么原因了,新生成的合并文件夹不能放在同一个目录

TOP

本帖最后由 PCL0769 于 2021-9-6 15:43 编辑

回复 8# Batcher
合并后的1.txt  38.0 MB (39,897,024 字节)  里面有重复,等于是一个数据生成了两次在合并记事本里面

用楼上老师的(abc)合并后1.txt  19.0 MB (19,950,522 字节)

TOP

返回列表