Board logo

标题: [文件操作] 批处理如何检测两个指定文件夹里的同名文件的修改时间是否相同 [打印本页]

作者: wloliver    时间: 2019-7-30 18:20     标题: 批处理如何检测两个指定文件夹里的同名文件的修改时间是否相同

本帖最后由 pcl_test 于 2019-8-2 15:35 编辑

批处理如何判断A文件夹中的内容存在于B文件夹中?
如:A文件夹中有文件,C,D,E,F
B文件夹中也有文件C,D
那如何判断B文件夹中有A文件夹中的内容


然后再拿B文件夹中的文件和A文件夹中的文件进行对比,用修改时间来对比,如果修改时间之至,则打印same,否则 打印different
作者: wloliver    时间: 2019-7-30 18:21

需要循环判断   
A文件夹中还有文件夹G,文件夹G中有文件J
B文件夹中也有文件夹G,文件夹G中有文件J
作者: zaqmlp    时间: 2019-7-30 21:45

  1. @echo off
  2. mode con lines=3000
  3. set info=互助互利,支付宝扫码头像,感谢赞助
  4. rem 有问题,可加QQ956535081及时沟通
  5. title %info%
  6. set "folder1=D:\xxx\A"
  7. set "folder2=D:\xxx\B"
  8. powershell -NoProfile -ExecutionPolicy bypass ^
  9.     $dic=New-Object 'System.Collections.Generic.Dictionary[string,Object]';^
  10.     $files1=@(dir -liter '%folder1%' -r^|?{$_ -is [System.IO.FileInfo]});^
  11.     for($i=0;$i -lt $files1.count;$i++){^
  12.         $filename=$files1[$i].Name.toLower();^
  13.         if(-not $dic.ContainsKey($filename)){^
  14.             [System.Collections.ArrayList]$a=@();^
  15.             $dic.add($filename,$a);^
  16.         };^
  17.         [void]$dic[$filename].add($files1[$i]);^
  18.     };^
  19.     $files2=@(dir -liter '%folder2%' -r^|?{$_ -is [System.IO.FileInfo]});^
  20.     for($i=0;$i -lt $files2.count;$i++){^
  21.         $filename=$files2[$i].Name.toLower();^
  22.         if($dic.ContainsKey($filename)){^
  23.             for($j=0;$j -lt $dic[$filename].count;$j++){^
  24.                 $s='same';$c='green';^
  25.                 if($files2[$i].LastWriteTime -ne $dic[$filename][$j].LastWriteTime){$s='different';$c='red';};^
  26.                 write-host $s -ForegroundColor $c;^
  27.                 write-host ('['+$files2[$i].LastWriteTime.toString('yyyy-MM-dd HH:mm:ss.fff')+']'+$files2[$i].FullName);^
  28.                 write-host ('['+$dic[$filename][$j].LastWriteTime.toString('yyyy-MM-dd HH:mm:ss.fff')+']'+$dic[$filename][$j].FullName);^
  29.                 write-host '';^
  30.             };^
  31.         };^
  32.     };
  33. echo;%info%
  34. pause
复制代码

作者: wloliver    时间: 2019-8-1 18:36

本帖最后由 wloliver 于 2019-8-1 18:46 编辑

回复 3# zaqmlp


    谢谢大神  虽然看不懂这么复杂的

真是太厉害了大神
作者: wloliver    时间: 2019-8-1 18:47

zaqmlp 发表于 2019-7-30 21:45



    大神 ,还想追加点东西!
比如我所有文件夹中的文件都判断是一样的了,那么就去执行程度A,如果有一个文件判断不一样,则执行程度B




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