我一直在处理批处理文件中的一些代码,用于评估两个文件日期。如果一个日期大于另一个日期,则会运行另一个 bat 文件。我想要做的是将两个日期格式化为 YYYYMMDD,以便我可以使用GTR
(比...更棒).
代码如下,但如果我使用它就可以工作==
(equal)因为它正在评估字符串。我只想知道一个文件日期是否大于另一个文件日期。
我并不是要求某人修改下面的代码,但如果您能告诉我如何格式化日期,我将非常感激。
set Fileone=File1.txt
set FileTwo=File2.txt
pushd "D:\Board\Broadcast\FA_Report8_A"
FOR %%f IN (%FileOne%) DO SET filedatetime=%%~tf
FOR %%f IN (%FileTwo%) DO SET filedatetime2=%%~tf
SET filedatetime2=%year%%month%%day%
IF %filedatetime:~0, 10% GTR %filedatetime2:~0, 10% (
echo FileOne Greater - run bat
timeout /t 20 /nobreak
goto Finish
) else (
echo FileOne not Greater - Finish
goto Finish
)
:Finish
echo finished
pause
它不能在具有不同日期格式的机器之间移植,但最简单的方法是使用子字符串:%var:~STARTPOS,LENGTH%
set filedatetime=14/06/2012 12:26
set filedatetime=%filedatetime:~6,4%%filedatetime:~3,2%%filedatetime:~0,2%
echo "%filedatetime%"
"20120614"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)