for %%f in (*.txt) do (
set filedatetime=%%~tf
set filedate=!filedatetime:~0,11!
if %datestamp%==!filedate! echo true >>C:\pathway\temp_log.txt
)
上面的代码是为了修改文件夹中每个文本文件的Date Modified,将其缩短为日期(包括空格),并将其与预定变量datestamp进行比较。
根据命令提示符,filedatetime被设置为文件的修改日期,而datestamp保存它应该的值,但代码无法正确运行。添加echo!filedatetime!和echo!归档!只返回文字字符串!filedatetime!和!filedate!,而不是那些变量所代表的值。
查看类似的帖子,答案似乎是延迟扩展,但我很确定这就是我已经在做的事情。
答案 0 :(得分:1)
将setlocal enableDelayedExpansion
放在FOR循环之前。