批处理脚本(cmd)产生 DD-MM-YYYY_weekday(FRI)格式

批处理脚本(cmd)产生 DD-MM-YYYY_weekday(FRI)格式

我需要使用 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 表示分钟)

相关内容