内容 |
【方案一】bat + date.exe(gnu) 代码如下: @echo off rem 调用gnu for win32的date.exe set gnudate=c:/test/date.exe rem 指定月数 set monthsago=1 for /f %%a in ('%gnudate% -d %monthsago% months ago +%%y-%%m-01') do ( set dstdate=%%a ) ) echo,%dstdate% pause 【方案二】bat + vbs 代码如下: @echo off rem 指定月数 set monthsago=2 >%temp%/datecalculate.vbs echo strlastdate=dateadd(m, -%monthsago%, date) >>%temp%/datecalculate.vbs echo strfmtdate=right(year(strlastdate),4) ^& right(0 ^& month(strlastdate),2) ^& 01 >>%temp%/datecalculate.vbs echo wscript.echo strfmtdate for /f %%a in ('cscript /nologo %temp%/datecalculate.vbs') do ( set dstdate=%%a ) set dstdate=%dstdate:~0,4%-%dstdate:~4,2%-%dstdate:~6,2% echo,%dstdate% pause
|