【发布时间】:2020-11-22 05:45:23
【问题描述】:
我有这段代码,我想从当前日期减去一天,从 0 到 -10,但我只正确地获得了最后一个超出周期的值,知道为什么吗?
echo off
Setlocal EnableDelayedExpansion
FOR /L %%A IN (0,1,10) DO (
FOR /F "usebackq tokens=*" %%t IN (`powershell -NoProfile -Command "(Get-Date).AddDays(-%%A).ToString('yyyy/MM/dd HH:MM:ss')"`) DO (SET "START_DATE=%%t")
echo START_DATE: %START_DATE%
)
echo START_DATE: %START_DATE%
Endlocal
pause
PopD
exit
我在终端得到的是这个
echo off
START_DATE:
START_DATE:
START_DATE:
START_DATE:
START_DATE:
START_DATE:
START_DATE:
START_DATE:
START_DATE:
START_DATE:
START_DATE:
START_DATE: 2020/07/22 11:07:06
Presione una tecla para continuar . . .
【问题讨论】:
-
这能回答你的问题吗? Windows Batch Variables Won't Set 您启用了延迟扩展,但您没有使用它。使用
!START_DATE!而不是%START_DATE%。
标签: batch-file cmd