Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows批处理文件在设置后立即失去对变量的跟踪_Windows_Batch File - Fatal编程技术网

Windows批处理文件在设置后立即失去对变量的跟踪

Windows批处理文件在设置后立即失去对变量的跟踪,windows,batch-file,Windows,Batch File,我一直在编写一个批处理脚本来检查文件日期。昨天早上我让它工作了,但由于某种原因,我设置的变量开始不起作用了。代码如下: for /f %%a in ('dir /B/A:D') do ( for /f "tokens=1-3 delims=/ " %%b in ("%%~ta") do ( set FCMONTH=%%b set FCDAY=%%c set FCYEAR=%%d echo %FCMONTH%\%FCDAY%\

我一直在编写一个批处理脚本来检查文件日期。昨天早上我让它工作了,但由于某种原因,我设置的变量开始不起作用了。代码如下:

for /f %%a in ('dir /B/A:D') do (
    for /f "tokens=1-3 delims=/ " %%b in ("%%~ta") do (
        set FCMONTH=%%b
        set FCDAY=%%c
        set FCYEAR=%%d
        echo %FCMONTH%\%FCDAY%\%FCYEAR%
    )
)
逐行:

  • 在工作目录中查找文件夹
  • 将文件创建日期解析为分配给%b、%c和%d的前三个标记
  • (到5)为令牌分配变量
  • (实际上是6)打印出结果(我包括的调试没有给我任何新信息)
  • 在cmd.exe中查看脚本结果时,FCMONTH/DAY/YEAR都设置正确,但echo无法读取它们:

    有人对我的问题有什么见解吗?我不明白为什么它突然失灵了

    谢谢

    setlocal enableDelayedExpansion
    for /f %%a in ('dir /B/A:D') do (
        for /f "tokens=1-3 delims=/ " %%b in ("%%~ta") do (
            set FCMONTH=%%b
            set FCDAY=%%c
            set FCYEAR=%%d
            echo !FCMONTH!\!FCDAY!\!FCYEAR!
        )
    )