Windows Batch:在循环中获取当前日期和时间
Posted
技术标签:
【中文标题】Windows Batch:在循环中获取当前日期和时间【英文标题】:Windows Batch: get current date and time within a loop 【发布时间】: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 脚本。 ***.com/questions/21034354/…
【参考方案1】:
这要放在批处理文件中,否则代码将不起作用。
@echo off
:loop
echo date: %date% | time: %time%
goto loop
【讨论】:
删除“|”,如你所愿! 我确实测试了我的代码,但我看到了我错过了什么 它没有。删除|
或将其转义:^|
我的意思是这样做echo date:%Date% Time:%time%
然后相应地编辑您的答案。无效的答案往往会被否决和关闭。以上是关于Windows Batch:在循环中获取当前日期和时间的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows Batch 中,为啥用括号括起来的 for 循环不会扩展它被告知要回显的变量?
如何获取具有已完成状态的 Spring Batch 作业的最后执行的开始或结束日期?