date - 如何在批处理文件中获取昨天的日期?

标签 date batch-file

这个问题在这里已经有了答案:





how to get yesterday's date in a batch file

(4 个回答)


7年前关闭。




我使用下面的代码来获取今天的日期和月份(0411)

For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set FileNameDatePrefix=%%a%%b)

但我想在 FileNameDatePrefix 中获取昨天的日期.

我不确定我们如何才能做到这一点。欢迎任何建议。

最佳答案

这是一个使用 VBS 的批处理文件方法,它在任何语言环境中都很强大

:: yesterdays date
@echo off
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 "data=%yyyy%-%mm%-%dd%"

echo Yesterday was "%data%"
pause

关于date - 如何在批处理文件中获取昨天的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23010670/

相关文章:

javascript - 我可以在 JavaScript 中判断访问者的区域设置是遵循美国风格还是世界其他地区的风格吗?

Oracle SQL - 最近 12 个完整月的数据

windows - 复制文件夹内容

powershell - 如何从 Powershell 将参数传递到批处理文件

php - 在月初和月末获取一周的开始日期和结束日期

javascript - 限制日期选择器(从今天开始)- HTML

javascript - 检查日期是否在 11 月 1 日到 3 月 1 日之间,如果是,则执行某些操作

batch-file - 多次 ping 尝试后批处理崩溃

powershell - 使用powershell自动提升批处理文件,不会破坏参数,但会出现调用问题

batch-file - 如何抑制cmd.exe中的 "terminate batch job"