@echo off
rem 不同的系统显示的日期格式可能不同
rem 所以一两句简单的代码可移植性比较差
rem 这个版本通过注册表来判断日期格式因此比较通用
rem Last update: 2007-10-16
for /f "skip=4 delims= " %%a in ('reg query "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate') do (
set DateFormat=%%a
)
set DateFormat=%DateFormat:~-8%
reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d yyyy-M-d /f
set "Week=Mon Tue Wed Thu Fri Sat Sun 星期一 星期二 星期三 星期四 星期五 星期六 星期日"
set datestr=%date%
for %%n in (%Week%) do call set "datestr=%%datestr:%%n=%%"
rem 一般情况下md不认两边的空格
md %datestr%
reg add "HKEY_CURRENT_USER\Control Panel\International" /v sShortDate /t REG_SZ /d %DateFormat% /f