批处理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% 
以上为设置日期的格式。