您的位置:首页 > 其它

利用批处理bat获取系统日期前三天的日期

2014-07-11 09:10 267 查看
在管理服务器的时候经常要根据系统的日期判断上传哪一天的日志文件,例如是周一需要上传上周五的日志,其他日期则上传前一天的日志,日志文件是以日期命名的。这就需要获取前三天的日期,或者前n天的日期。批处理结合vbs可以实现,文件如下。

if "%date:~13%"=="一" (set DaysAgo=3) else (set DaysAgo=1)
>"%temp%\MyDate.vbs" echo LastDate=date()-%DaysAgo%
>>"%temp%\MyDate.vbs" echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
>>"%temp%\MyDate.vbs" echo wscript.echo FmtDate
for /f %%a in ('cscript /nologo "%temp%\MyDate.vbs"') do (set DstDate=%%a)
set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%
echo %DstDate%

如果是win8系统可以将if "%date:~13%"改为if "%date:~12%"
set DstDate=%DstDate:~0,4%-%DstDate:~4,2%-%DstDate:~6,2%这个事设置日期的格式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息