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

[文本处理] 批处理TXT对比 覆盖

[复制链接]
发表于 2018-11-19 17:30:35 | 显示全部楼层 |阅读模式
本帖最后由 maxwell 于 2018-11-20 09:33 编辑

当前存在两个同文件名.txt (假设为temp.txt)分别在 AA文件夹  另一个在BB 文件夹。

现在由于可能出现AA文件夹下的temp.txt 会和BB文件夹下的temp.txt内容出现差异:
那么需要的操作为:

1、当AA文件夹下的temp.txt有的数据 而BB 文件夹下temp.txt没有的数据就 拷贝过去
2、当AA文件夹下的temp.txt没有的数据,如果B 文件夹下的temp.txt中有 ,就不做操作。


上述有误: 重新描述下

当前存在两个同名.7z压缩包 (假设为temp.7z  压缩包内为同名temp.txt) 分别在 AA文件夹  另一个在BB 文件夹。

现在由于可能出现AA文件夹下的temp.7z内的temp.txt 会和BB文件夹下的temp.7z内的temp.txt内容出现差异:
那么需要的操作为:

1、当AA文件夹下的temp.7z中的temp.txt有的数据 而BB 文件夹下的temp.7z中的temp.txt没有的数据就 拷贝过去
2、当AA文件夹下的temp.7z中的temp.txt没有的数据,如果BB 文件夹下的temp.7z中的temp.txt中有 ,就不做操作。
3、当AA文件夹下无temp.7z 压缩包。则不进行任何操作
发表于 2018-11-19 18:03:24 | 显示全部楼层
本帖最后由 yhcfsr 于 2018-11-19 18:08 编辑

简化为一句:AA,BB中的同名文件,如果BB中该文件大小为0,复制AA中同名文件到BB.
下面的脚本有个缺陷,如果AA中存在子目录,则子目录与BB中的同名文件不会处理.
  1. set "AA=D:\TEST\a"
  2. set "BB=D:\TEST\b"
  3. for /r "%BB%" %%a in (*) do if %%~za==0 (
  4.     if exist "%AA%\%%~nxa" copy "%AA%\%%~nxa" "%%a" /y
  5. )
复制代码
发表于 2018-11-19 21:08:46 | 显示全部楼层
回复 2# yhcfsr


    猜测楼主是要逐行比较文件内容,而不是文件是否为空。
发表于 2018-11-19 21:14:53 | 显示全部楼层
  1. @echo off
  2. findstr /v /x /g:BB\temp.txt AA\temp.txt > temp.tmp
  3. type temp.tmp >> BB\temp.txt
复制代码
 楼主| 发表于 2018-11-20 09:26:14 | 显示全部楼层
回复 4# Batcher


    对的 朋友 我是需要逐行对比,还有一点我忘记说明了; 这个temp.txt 实际是被压缩到同名压缩包中的,格式为.7z

即需要注意的是:

1、当AA文件夹下的temp.7z中的temp.txt有的数据 而BB 文件夹下的temp.7z中的temp.txt没有的数据就 拷贝过去
2、当AA文件夹下的temp.7z中的temp.txt没有的数据,如果B 文件夹下的temp.7z中的temp.txt中有 ,就不做操作。
3、当AA文件夹下无temp.7z 压缩包。则不进行任何操作。
 楼主| 发表于 2018-11-20 09:34:12 | 显示全部楼层
回复 2# yhcfsr


    朋友,不是比对是否为空
发表于 2018-11-20 13:12:09 | 显示全部楼层
回复 5# maxwell


temp.7z中除了temp.txt还有其它文件吗?

还有需要明确一下拷贝什么东西过去:
把AA文件夹下的temp.7z拷贝到BB文件夹下?
把AA文件夹下的temp.7z的temp.txt拷贝到BB文件夹下?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 01:03 , Processed in 0.018908 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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