找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 25187|回复: 12

[代码合集] [已解决]求大佬制作下BAT代码 批量合并同类型文件并且保存到新的文件夹

[复制链接]
发表于 2022-3-9 01:22:09 | 显示全部楼层 |阅读模式
本帖最后由 5988911 于 2022-3-11 12:43 编辑

需求:把当前根目录下的所有文件夹包括子文件夹内的TXT文本文档的内容合并到1个新的文本文档里,每个内容需要自动换行
打比方E盘BOOK文件夹里有文本文档A,内容为“我爱你”
               BOOK文件夹里有子文件夹SAFE,SAFE里有文本文档B,内容为 “我要娶你”
               SAFE文件夹里有子文件夹LOVER,LOVER里有文本文档C,内容为“嫁给我好吗”
最终需求为把ABC3个文本文档的内容合并,并保存到D盘的KISS文件夹下,
合并的文本文档内容为,第一行,我爱你;   第二行,我要娶你;   第三行,嫁给我好吗
合并后的内容不能全部在第一行首尾相连
发表于 2022-3-9 02:29:57 | 显示全部楼层
本帖最后由 TAT 于 2022-3-9 02:36 编辑
  1. @echo off
  2. md D:\KISS\ 2>nul
  3. del D:\KISS\D.txt 2>nul
  4. for /f "tokens=*" %%i in ('dir /b /s E:\BOOK') do (
  5.     if %%~xi==.txt (for /f "tokens=*" %%n in (%%i) do (echo %%n >>D:\KISS\D.txt))
  6. )
  7. pause
复制代码
发表于 2022-3-9 08:30:36 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2022-3-11 09:06 编辑
  1. cd /d E:\BOOK
  2. (for /f "delims=" %%i in ('dir /s /b /a-d *.txt') do @more "%%i")>SUN.txt
复制代码
 楼主| 发表于 2022-3-10 19:49:30 | 显示全部楼层
回复 2# TAT


    没有把子文件夹里的文本内容也全部合并进去,后面的内容也没有自动换行呢,是首尾相连的
发表于 2022-3-11 09:12:40 | 显示全部楼层
回复 1# 5988911
合并后未换行可能是你的文档中末行本来就没有换行,type换成more试试。3楼代码已修改。
发表于 2022-3-11 09:43:12 | 显示全部楼层
回复 2# TAT


文件数量多、文本行数多的情况下,建议把重定向放在for循环外面,参考:
https://mp.weixin.qq.com/s/VZk0TmYUpFdCoWK9ZpgL0Q
发表于 2022-3-11 12:42:55 | 显示全部楼层
回复 3# qixiaobin0715


    谢谢大佬,按照你修改完后的 已经解决了
 楼主| 发表于 2022-3-25 22:58:05 | 显示全部楼层
回复 3# qixiaobin0715
大佬问下  这个方法 合并完成的TXT文档 打开是乱码 是什么问题呢, 合并完成后的文档改了编码也没用  还是乱码
发表于 2022-3-26 08:56:24 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2022-3-26 09:58 编辑

回复 8# 5988911
最好把你要处理的文件发到网盘上看看。
查看一下要处理的文件编码,如果均为UTF-8编码,试试下面代码:
  1. @echo off
  2. chcp 65001>nul
  3. (for /f "delims=" %%i in ('dir /s /b /a-d *.txt') do type "%%i"&echo,)>SUM.txt
  4. pause
复制代码
代码也保存为UTF-8编码。
 楼主| 发表于 2022-3-26 09:50:11 | 显示全部楼层
回复 9# qixiaobin0715


    老哥 你这个怎么用呀,是直接做成BAT然后和那个乱码的文档放在一起吗
 楼主| 发表于 2022-3-26 09:55:21 | 显示全部楼层
回复 9# qixiaobin0715


    试了有一个办法,就是把素材文档的编码改成ANSI,这样的话BAT后的文档不是乱码
但是我要是有1000个文档 挨个改编码要改死人。。。。 有什么代码可以批量改编码么
发表于 2022-3-26 10:00:09 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2022-3-26 10:01 编辑

你把9楼bat文件放在源文件夹中运行试试。代码已修改为重定向到文本文件中。
 楼主| 发表于 2022-3-27 11:03:02 | 显示全部楼层
回复 12# qixiaobin0715


    用你9楼这个 解决了 谢谢大佬
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 05:56 , Processed in 0.021811 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表