批处理bat获取前三天的日期 批处理获取前n天日期 bat获取前一天日期
根据系统的日期判断上传哪一天的日志文件,例如周一需要上传上周五的日志,其他日期则上传前一天的日志,日志文件是以日期命名的。
需要获取前三天的日期,或者前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%
以上为设置日期的格式。