【问题标题】:Get the modified date of two files and compare to do a task?获取两个文件的修改日期并比较做一个任务?
【发布时间】:2019-03-26 08:32:14
【问题描述】:

我有两个文件,我需要获取修改日期,我通过这种方式找到了解决方案:

for %%a in (file1.txt) do set Fechh1=%%~ta
for %%a in (file2.txt) do set Fecha2=%%~ta

然后我想比较这两个日期,如果 file2 日期比 file1 更新,则执行任务(复制某些文件)。

但它会将比较作为字符串而不是日期。

【问题讨论】:

  • 本网站不是一个您发布脚本的网站,该脚本不会尝试您希望它执行的任务,并要求其他人这样做。在这里,我们希望您发布为完成任务而编写的代码,但它没有这样做。请在此站点中搜索比较时间戳的示例,尝试实现您所学的内容,然后在edit your question 中包含代码的minimal reproducible example,并完整说明它如何无法实现预期目标。

标签: batch-file


【解决方案1】:

以下代码应该适合您:

if exist "file1.txt" if exist "file2.txt" (
    for /F "skip=1 delims=" %%A IN ('dir /B /A-D /OD "file1.txt" "file2.txt"') do (
        if "%%A" == "file2.txt" (copy certain files) else (echo Unfortunately, file1.txt is newer)
    )
)

首先,检查文件file1.txtfile2.txt

然后,通过在for /F 循环中解析的dir 命令检查最新文件是否为file2.txt

有关使用的命令的更多信息,请在 cmd 中键入以下命令:

  • if /?
  • for /?
  • copy /?
  • echo /?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    • 1970-01-01
    • 2017-04-04
    • 1970-01-01
    相关资源
    最近更新 更多