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

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

本帖最后由 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 压缩包。则不进行任何操作

本帖最后由 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. )
复制代码
QQ 33892006

TOP

回复 2# yhcfsr


    猜测楼主是要逐行比较文件内容,而不是文件是否为空。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. @echo off
  2. findstr /v /x /g:BB\temp.txt AA\temp.txt > temp.tmp
  3. type temp.tmp >> BB\temp.txt
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 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 压缩包。则不进行任何操作。

TOP

回复 2# yhcfsr


    朋友,不是比对是否为空

TOP

回复 5# maxwell


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

还有需要明确一下拷贝什么东西过去:
把AA文件夹下的temp.7z拷贝到BB文件夹下?
把AA文件夹下的temp.7z的temp.txt拷贝到BB文件夹下?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表