这个批处理文件(另存为datetimestr.bat)会生成3次日期时间字符串:
(1) 包含星期和秒的长日期时间字符串,
(2) 不包含它们的短日期时间字符串,
(3) 代码的简短版本。
@echo off
REM "%date: =0%" replaces spaces with zeros
set d=%date: =0%
REM "set yyyy=%d:~-4%" pulls the last 4 characters
set yyyy=%d:~-4%
set mm=%d:~4,2%
set dd=%d:~7,2%
set dow=%d:~0,3%
set d=%yyyy%-%mm%-%dd%_%dow%
set t=%TIME: =0%
REM "%t::=%" removes semi-colons
REM Instead of above, you could use "%t::=-%" to
REM replace semi-colons with hyphens (or any
REM non-special character)
set t=%t::=%
set t=%t:.=%
set datetimestr=%d%_%t%
@echo Long date time str = %datetimestr%
set d=%d:~0,10%
set t=%t:~0,4%
set datetimestr=%d%_%t%
@echo Short date time str = %datetimestr%
@REM Short version of the code above
set d=%date: =0%
set t=%TIME: =0%
set datetimestr=%d:~-4%-%d:~4,2%-%d:~7,2%_%d:~0,3%_%t:~0,2%%t:~3,2%%t:~6,2%%t:~9,2%
@echo Datetimestr = %datetimestr%
pause
为了恰当地给予荣誉,我合并了Peter Mortensen(2014年6月18日21:02)和opello(2011年8月25日14:27)的概念。
你可以写得更简短,但这个长版本使阅读和理解代码变得容易。
datetimef
变量中的空格替换为0。例如:SET datetimef=%datetimef: =0%
- SebaGra