【发布时间】:2015-09-14 23:31:04
【问题描述】:
以下内容将在一个 windows 批处理文件中打印当前数据和时间:
for /f "tokens=2,3,4,5,6 usebackq delims=:/ " %%a in ('%date% %time%') do echo %%c-%%a-%%b %%d%%e
我找到了这个here。
但是,如果放置在循环中,初始数据和时间将不断打印,并且不会更新以反映新时间。
如何修改它以反映当前时间并在循环中工作?
谢谢
【问题讨论】:
-
... 另一个。见delayed expansion trap
-
非常感谢。但我不清楚,在上面的行中,从 %% 或 % 更改为 ! 的内容。
-
%%a,...%%e是您的for变量。不要改变它们。使用!time!而不是%time%(和!date!而不是%date%- 以防万一,您的脚本大约在午夜运行;))。但是您会找到更好的日期时间字符串here -
小心,因为这可能不适用于不同区域设置的 Windows(日期和时间的格式不同)
-
我已经成功使用了 dbenham 的 getTimeStamp.bat 脚本。 stackoverflow.com/questions/21034354/…
标签: batch-file