我需要使用 date /t 命令并将日期格式转换为 DD-MM-YYYY 星期几,例如 (MON/TUE/WED),并列出所有“-”和“_”。我找不到问题的答案。你能帮帮我吗?
我目前所做的:
@echo on
D:
cd D:\Exe\VBS
color 0b
set day=-1
echo >"%temp%\%~n0.vbs" s=DateAdd("d",%day%,now) : d=weekday(s)
echo>>"%temp%\%~n0.vbs" WScript.Echo year(s)^& right(100+month(s),2)^& right(100+day(s),2)
for /f %%a in ('cscript /nologo "%temp%\%~n0.vbs"') do set "result=%%a"
del "%temp%\%~n0.vbs"
set "YYYY=%result:~0,4%"
set "MM=%result:~4,2%"
set "DD=%result:~6,2%"
set "date-yesterday=%yyyy%-%mm%-%dd%"
echo Yesterday was "%date-yesterday%"
所需结果 周五2019-05-17
答案1
另一种独立于语言环境/用户设置的方法是使用 powershell 作为工具。
在命令行上:
@for /f %A in ('powershell -nop -c "get-date -f yyyy-MM-dd_ddd"') do @set "YesterDay=%A"
在批处理文件中:
@Echo off
for /f %%A in ('
powershell -nop -c "get-date -f yyyy-MM-dd_ddd"
') do set "YesterDay=%%A"
您的标题、文本、代码和最后一句话需要不同的东西。
-f
根据您的喜好调整格式字符串,
大小写很重要(小写的 mm 表示分钟)