date - 将修改后的文件日期与批处理文件中的当前日期进行比较

标签 date batch-file last-modified

我需要编写一个批处理文件来做一些事情

最初我认为我的问题很简单 - 捕获位于指定目录中的 txt 文件的修改日期,将该日期与当前日期进行比较,如果它们相同,则执行某些操作。如果他们不是那么做别的事情。

我用来捕获当前日期的行是:

%date%

我用来捕获指定文件的修改日期的行是:
SET filename="C:\New Folder\New.txt"
FOR %%f IN (%filename%) DO SET filedatetime=%%~tf
ECHO %filedatetime:~0,-6% >> %destination%

在上述情况下,我只是使用 echo查看返回的内容,似乎返回了日期,但我得到了额外的信息:

2012/02/19 02



我想知道如何在可比较的地方获得上述值以及如何正确比较它们。

最佳答案

我喜欢 dbenham's方式,但如果你想让你的代码工作,你可以这样做:

set currentDate=%date%
SET filename="C:\MyFile.txt"

FOR %%f IN (%filename%) DO SET filedatetime=%%~tf
IF %filedatetime:~0, 10% == %currentDate% goto same

goto notsame

:same
echo Dates the same, do some code here

goto next

:notsame
echo Dates NOT the same, do some code here
goto end

:next

认为值得知道如何让你的工作,以防万一你再次需要它。

关于date - 将修改后的文件日期与批处理文件中的当前日期进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9349815/

相关文章:

Windows cmd shell : if-then-else weirdness for block statements

c# - 如何汇总数据库中给定日期的多个时间记录。错误 :Subquery returned more than 1 value

java - 如何使用日期正则表达式的模式匹配器?

windows - 用于查找/替换文件内文本的批处理命令

batch-file - 使用限制 CPU 使用优化脚本命令 FFMPEG

C++ 如何查看文件的最后修改时间

javascript - 如何通过 JavaScript 查看上次修改的 HTML 日期

http - (弱)ETags 和 Last-Modified

javascript - 无论区域设置如何,HTML 输入[日期] 默认为 mm/dd/yyyy

MySql 查询显示错误的时间,但日期是正确的