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

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

[复制链接]
发表于 2019-7-30 18:20:24 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2019-8-2 15:35 编辑

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


然后再拿B文件夹中的文件和A文件夹中的文件进行对比,用修改时间来对比,如果修改时间之至,则打印same,否则 打印different
 楼主| 发表于 2019-7-30 18:21:39 | 显示全部楼层
需要循环判断   
A文件夹中还有文件夹G,文件夹G中有文件J
B文件夹中也有文件夹G,文件夹G中有文件J
发表于 2019-7-30 21:45:53 | 显示全部楼层
  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
复制代码
 楼主| 发表于 2019-8-1 18:36:17 | 显示全部楼层
本帖最后由 wloliver 于 2019-8-1 18:46 编辑

回复 3# zaqmlp


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

真是太厉害了大神
 楼主| 发表于 2019-8-1 18:47:48 | 显示全部楼层
zaqmlp 发表于 2019-7-30 21:45



    大神 ,还想追加点东西!
比如我所有文件夹中的文件都判断是一样的了,那么就去执行程度A,如果有一个文件判断不一样,则执行程度B
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 00:14 , Processed in 0.018361 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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