CMD命令下获取昨日日期

公司每天需要处理T+1的数据,而操作系统是Windows(也许公司的前辈喜欢Windows吧)。DOS命令相对与Linux Shell,自然是弱爆了。

例如,想要获取上一日的日期,在CMD命令下是非常困难的。最终的解决办法是调用VBS程序,把昨日日期写入临时文件,在再从CMD中读取文件内容,最后删除临时文件。

废话不多说,直接上代码。

@echo off
rem 调用VBS程序获取昨日日期
start /wait mshta vbscript:createobject("scripting.filesystemobject").createtextfile("temp.txt").write(date()-1)(window.close)
set /p a=<temp.txt

echo %a%

rem 日期格式化为yyyymmdd 值得注意的是delims在Win10为-,Win7/Windows Server上面为/
for /f "delims=- tokens=1" %%i in (temp.txt) do set "skp_year=%%i"
for /f "delims=- tokens=2" %%i in (temp.txt) do set "skp_mon=%%i"
for /f "delims=- tokens=3" %%i in (temp.txt) do set "skp_day=%%i"
if %skp_mon% LEQ 9 set skp_mon=0%skp_mon%
if %skp_day% LEQ 9 set skp_day=0%skp_day%
set skp_date=%skp_year%%skp_mon%%skp_day%
echo %skp_date%
del temp.txt

pause

上一篇:Debian配置主机名,域名,网卡IP地址


下一篇:Nessus的安装