如何在批处理文件中简便获取星期几?
从%date%变量提取星期几的简洁方案
情况1:系统%date%包含星期字段(如中文系统默认格式:星期一 2024/05/20)
直接拆分提取第一个令牌:
- 命令(cmd脚本中):
for /f "tokens=1" %%a in ("%date%") do set "weekday=%%a" - 执行后,
%weekday%变量就会存储“星期一”这类星期值
情况2:%date%不含星期字段(如部分英文系统格式:05/20/2024)
用wmic直接获取星期数值,再映射为中文星期,比解析%date%更可靠:
- 获取星期数值(0=周日,1=周一…6=周六):
for /f "skip=1 tokens=2" %%a in ('wmic path win32_localtime get dayofweek') do set "dow=%%a" - 映射为中文星期:
set "weekday_list=日一二三四五六" set "weekday=星期!weekday_list:~%dow%,1!"
执行后%weekday%会得到“星期日”“星期一”这类结果
小提示
先执行 echo %date% 查看当前系统的日期格式,再选择对应方案。
内容的提问来源于stack exchange,提问作者Global.access.software
相关产品推荐
相关产品推荐

