在批处理文件中获取for循环变量的子字符串

时间:2014-05-27 17:56:04

标签: batch-file for-loop substring

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!,而不是那些变量所代表的值。

查看类似的帖子,答案似乎是延迟扩展,但我很确定这就是我已经在做的事情。

1 个答案:

答案 0 :(得分:1)

setlocal enableDelayedExpansion放在FOR循环之前。