BAT批处理脚本-获取当前日期

前言

某次需求需要使用批处理获取当前日期,但获取到的普遍是使用

1
2
3
%date%
%time%
%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%

的形式来表示,但一旦系统环境设置(例如中英文等)发生改变,便无法很方便地格式化。

使用WMIC获取当前日期并格式化

WMIC是Windows的系统命令,可以在XP中使用,因此具有一定的兼容性,故主推这个:

1
2
3
4
5
6
@REM 获取当前日期YYYYMMDD
for /f "tokens=2 delims==" %%a in ('wmic path win32_operatingsystem get LocalDateTime /value') do (
  set t=%%a
)
set Today=%t:~0,4%%t:~4,2%%t:~6,2%
echo 当前日期:%Today%

输出结果

1
2
PS C:\Users\esunny\bat> .\scptest.bat
当前日期:20210615