Board logo

标题: [其他] [已解决]求批处理自动列出字节数不同的文件 [打印本页]

作者: yuan37    时间: 2012-10-7 15:10     标题: [已解决]求批处理自动列出字节数不同的文件

本帖最后由 yuan37 于 2013-7-10 11:28 编辑

求批处理自动列出字节数不同的文件

两个文件夹下有相同的文件,但文件字节数有相同的 也有不相同的
我想求一个批处理,自动列出字节数不同的文件,并把该字节数不同的文件保存在D盘C文件夹下。

上次求助有子文件夹,但仔细想想如有上面的批处理,我自己逐个比对文件夹也行,
还望高手支招。。。
感谢谢谢......
作者: yuan37    时间: 2012-10-8 12:18

高手出来帮忙一下.
作者: forfiles    时间: 2012-10-8 12:33

假设原来的两个文件夹分别叫做A和B,那么找出不同之后从哪个里面“另取保存在另一个文件夹下”?
作者: yuan37    时间: 2012-10-9 07:22

本帖最后由 yuan37 于 2012-10-9 07:30 编辑

回复 3# forfiles


    如果找出不同的文件后,可随意取一个文件夹,如C  C下的文件及子目录下的文件。。。是取出的按要求得到的字节不同的文件
C下的目录仍跟A文件夹下的目录是一致的(含子目录),当然字节全部相同的文件所在的文件夹可省略不列出
如A:为windows\system32..
          wi ndows\..........

  B: 为windows\system32..    A和B有字节相同也有不同
         windows.......

  C仍为windows\system32..    只不过字节数是不同的
          windwos....
作者: yuan37    时间: 2012-10-11 12:21

自已顶,希望得到高人的帮助!!
作者: 悬崖之树    时间: 2013-7-10 20:56

本帖最后由 悬崖之树 于 2013-7-10 21:02 编辑

首先说明下代码运行时的环境:
在一个文件夹下有a和b两个文件夹,a和b下均有一系列文件名相同但大小可能不同的文本文件,且只有文本文件,没有别的类型的文件,文本文件名没有带特殊字符。
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f %%i in ('dir /b /a-d a') do (
  3.    for %%j in (a\%%i) do (
  4.       set a=%%~zj
  5.    )
  6.    for %%k in (b\%%i) do (
  7.       set b=%%~zk
  8.    )
  9.    if !a!==!b! echo 在a和b文件夹里的%%i是相同的。
  10. )
  11. pause
复制代码
把代码放在a和b文件夹所在的相同目录下运行。

以上代码实现的是找出相同的,只要把 “ if !a!==!b! echo 在a和b文件夹里的%%i是相同的。” 改成 “ if !a!  neq !b! copy a\%%i c” 就可以了。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2