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

[文本处理] 批处理合并文本

[复制链接]
发表于 2020-6-9 00:01:21 | 显示全部楼层 |阅读模式
有A文件夹
1.txt
2.txt
3.txt


有B文件夹
2.txt
5.txt

当A文件夹包含B文件夹TXT时,   比如 2.txt   B文件夹的2.txt  就和 A文件的2.txt合并,合并输出在A文件夹
当A文件夹不包括B文件夹TXT时,比如 5.txt,则直接复制到A文件夹
发表于 2020-6-9 01:00:59 | 显示全部楼层
本帖最后由 smss 于 2020-6-9 10:41 编辑
  1. for %%# in ("A文件\*.txt") do if exist "B文件\%%~nx#" (copy/b "%%#"+"B文件\%%~nx#" "%%#")else copy "B文件\%%~nx#" "%%#"
复制代码
  1. for /r A文件 %%a in (*.txt) do for /r B文件 %%b in (*.txt) do if "%%~nxb"=="%%~nxa" (copy/b "%%a"+"%%b" "%%a")else copy "%%b" "%%a"
复制代码
发表于 2020-6-9 08:44:22 | 显示全部楼层
回复 2# smss


    你的代码里面哪部分是实现“合并输出”?
 楼主| 发表于 2020-6-9 09:00:54 | 显示全部楼层
回复 3# Batcher


    测试了二楼的,好像没效果

求老大出手,相同文件名合并,不同文件名保留复制
发表于 2020-6-9 09:24:47 | 显示全部楼层
需要ansi编码
  1. @echo off
  2. set "folderA=C:\Users\lenovo\Desktop\新建文件夹\A"
  3. set "folderB=C:\Users\lenovo\Desktop\新建文件夹\B"
  4. for %%i in ("%folderB%\*.txt") do (
  5.         if exist "%folderA%\%%~nxi" (
  6.                 copy /y "%folderA%\%%~nxi"+"%%~i" "%folderA%\%%~nxi"
  7.         ) else (
  8.                 copy /y "%%~i" "%folderA%\%%~nxi"
  9.         )
  10. )
  11. pause&exit
复制代码
发表于 2020-6-9 10:24:35 | 显示全部楼层
太困没看到回复 3# Batcher
发表于 2020-6-10 09:18:15 | 显示全部楼层
  1. findstr .* test.txt >> result.txt
复制代码
追加和并
发表于 2020-6-10 09:30:56 | 显示全部楼层
回复 7# Gin_Q
  1. type test.txt >> result.txt
复制代码
findstr效率可能比较低

评分

参与人数 1技术 +1 收起 理由
Gin_Q + 1 感谢分享

查看全部评分

发表于 2020-6-10 10:11:20 | 显示全部楼层
回复 8# Batcher


    的确,但是能用啊。^_^,我想他应该不要求多高的效率!
发表于 2020-6-12 22:12:36 | 显示全部楼层
依楼主的描述,其本质就是 把b文件夹内的文件追加进a文件夹内的同名文件内。
则只需要
  1. @echo of
  2. for /f "delims=" %%i in ('dir /b b\*.txt') do type b\%%i>>a\%%i
  3. pause
复制代码
b文件夹内的文件是否保留,楼主没有说。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 19:25 , Processed in 0.022153 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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