为了账号安全,请及时绑定邮箱和手机立即绑定

在Windows批处理脚本中格式化日期和时间

在Windows批处理脚本中格式化日期和时间

慕娘9325324 2019-08-26 15:08:36
在Windows批处理脚本中格式化日期和时间在Windows(Windows XP)批处理脚本中,我需要格式化当前日期和时间,以便以后在文件名中使用等。它类似于Stack Overflow问题如何在批处理文件中附加日期,但也有时间。到目前为止我有这个:echo %DATE%echo %TIME%set datetimef=%date:~-4%_%date:~3,2%_%date:~0,2%__%time:~0,2%_%time:~3,2%_%time:~6,2%echo %datetimef%这使:28/07/2009  8:35:31.012009_07_28__ 8_36_01有没有办法允许%TIME%的单个数字小时,所以我可以得到以下内容?2009_07_28__08_36_01
查看完整描述

3 回答

?
慕田峪7331174

TA贡献1828条经验 获得超13个赞


我最终得到了这个脚本:


set hour=%time:~0,2%

if "%hour:~0,1%" == " " set hour=0%hour:~1,1%

echo hour=%hour%

set min=%time:~3,2%

if "%min:~0,1%" == " " set min=0%min:~1,1%

echo min=%min%

set secs=%time:~6,2%

if "%secs:~0,1%" == " " set secs=0%secs:~1,1%

echo secs=%secs%


set year=%date:~-4%

echo year=%year%

::在WIN2008R2上,例如我需要让你的'set month =%date:~3,2%'如下所示::否则00为MONTH出现


set month=%date:~4,2%

if "%month:~0,1%" == " " set month=0%month:~1,1%

echo month=%month%

set day=%date:~0,2%

if "%day:~0,1%" == " " set day=0%day:~1,1%

echo day=%day%


set datetimef=%year%%month%%day%_%hour%%min%%secs%


echo datetimef=%datetimef%


查看完整回答
反对 回复 2019-08-26
?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

@ECHO OFF

: Sets the proper date and time stamp with 24Hr Time for log file naming

: convention


SET HOUR=%time:~0,2%

SET dtStamp9=%date:~-4%%date:~4,2%%date:~7,2%_0%time:~1,1%%time:~3,2%%time:~6,2% 

SET dtStamp24=%date:~-4%%date:~4,2%%date:~7,2%_%time:~0,2%%time:~3,2%%time:~6,2%


if "%HOUR:~0,1%" == " " (SET dtStamp=%dtStamp9%) else (SET dtStamp=%dtStamp24%)


ECHO %dtStamp%


PAUSE


查看完整回答
反对 回复 2019-08-26
  • 3 回答
  • 0 关注
  • 1080 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信