0

我如何能够创建一个批处理文件来比较具有相同文件集但修改日期不同的 2 个文件夹?我在互联网上检查了一些代码,但它只会检查文件是否存在于另一个文件夹中。

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

4

3 回答 3

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

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

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

于 2012-12-12T15:26:43.040 回答
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...变量结果的日期,然后比较变量。

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

于 2012-12-12T18:24:06.607 回答
1

我会从 MS Resource Kit 中尝试 Robocopy:

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

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

于 2012-12-12T18:37:55.370 回答