将文件日期时间与目标文件日期时间进行比较

时间:2014-05-24 15:27:44

标签: batch-file

我有一个问题。 我需要一些比较某个目录中文件的东西,并将这些文件的日期时间与位于另一个目录中的文件的日期时间进行比较。

实施例

FOR /R "e:\folder" %%A IN (*.*) DO (
    set filedatetime=%%~tA
    FOR /R "e:\folder2" %%B IN (*.res.gz) DO (
        set filedatetime2=%%~tB
    )
)
IF %filedatetime% == %filedatetime2% GOTO SAME
GOTO NOSAME

然而它不像我想的那样工作。 有没有人有一个例子,所以我可以使用它。

2 个答案:

答案 0 :(得分:1)

不确定这是否是问题,但是......

for /r "e:\folder" %%a in (*.*) do for /r "e:\folder2" %%b in (*.res.gz) do (
    if "%%~ta"=="%%~tb" (
        echo SAME %%~fa %%~fb
    ) else (
        echo NOT SAME %%~fa %%~fb
    )
) 

这将针对“e:\ folder2”下的所有.res.gz文件检查“e:\ folder”下的所有文件,如果两个文件具有相同的时间戳,则检查每对报告。

答案 1 :(得分:1)

试一试:

FOR /R "e:\folder" %%A IN (*.*) DO (
    FOR /R "e:\folder2" %%B IN (*.res.gz) DO (
        if "%%~tA"=="%%~tB" (GOTO:SAME) else GOTO:NOSAME
    )
)