我需要编写一个批处理文件来做一些事情
最初我认为我的问题很简单 - 捕获位于指定目录中的 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/