【问题标题】:Windows Batch: get current date and time within a loopWindows Batch:在循环中获取当前日期和时间
【发布时间】: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


【解决方案1】:

这要放在批处理文件中,否则代码将不起作用。

@echo off

:loop

echo date: %date% | time: %time%

goto loop

【讨论】:

  • 删除“|”,如你所愿!
  • 我确实测试了我的代码,但我看到了我错过了什么
  • 它没有。删除| 或将其转义:^|
  • 我的意思是这样做echo date:%Date% Time:%time%
  • 然后相应地编辑您的答案。无效的答案往往会被否决和关闭。
猜你喜欢
  • 2015-03-22
  • 2012-12-04
  • 2012-04-29
  • 2015-11-12
  • 2015-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多