批处理文件来比较2个文件夹

时间:2012-12-12 12:33:18

标签: batch-file

如何创建批处理文件以将2个文件夹与同一组文件进行比较但修改日期不同?我在互联网上检查了一些代码,但它只会检查该文件是否存在于另一个文件夹中。

任何帮助将不胜感激。感谢。

3 个答案:

答案 0 :(得分:1)

for %%a in ("folder1" "folder2") do (
forfiles /p %%a /c "cmd /c @echo @file @fdate"
) >>dates.txt

这会将两个文件夹中的文件及其旁边的修改日期输出到名为dates.txt的文件中,以便您进行比较。

如果您需要以其他方式比较它们,请指定。

答案 1 :(得分:1)

@echo off
Set folder1=c:\first folder
Set folder2=c:\second folder
Cd /D "%folder1%"
For %%a in (*.*) do (
   For %%b in ("%folder2%\%%a") do (
      If "%%~Ta" neq "%%~Tb" echo Different date/time in file %%a
   )
)

您可以只比较在变量中分割%%~T...结果的日期,然后比较变量。

您还可以检查文件是否存在于第二个文件夹中,或者比较它们的大小等...

答案 2 :(得分:1)

我会尝试使用MS Resource Kit中的Robocopy:

ROBOCOPY %SOURCE_DIR% %TARGET_DIR% * /MIR /XO /L

“/ L”指定测试模式,因此它不会实际复制文件。它只显示不同的文件。