经过在xp sp2 专业版上测试是没有问题的
因为dateadd函数取回的日期,比如2006-01-04
它会返回2006-1-4
所以在后面用
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set m=%%j
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set d=%%k
if %m% LSS 9 set m=0%m%
if %d% LSS 9 set d=0%d%
@echo off
Rem 取7天之前的日期,取回放入变量nowdate
echo wscript.echo dateadd("d",-7,date) >%tmp%\tmp.vbs
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set m=%%j
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set d=%%k
if %m% LSS 9 set m=0%m%
if %d% LSS 9 set d=0%d%
set nowdate=%y%%m%%d%
Rem 删除文件,修改下面的deldir变量为你要需要删除的文件所在的目录
set deldir=d:\xtmp\tmp\debug
for /f "delims=." %%i in ('dir /b %deldir%') do (
if %%i LSS %nowdate% del /f %deldir%\%%i.txt
)
@echo off
set /a nowdate=%date:~0,4%%date:~5,2%%date:~8,2%
for /f "delims=." %%i in ('dir /b D:\xtmp\tmp\Debug') do (
if %%i LSS %nowdate% del /f %%i.txt
)