批处理删除同一目录下的30天前的文件夹

批处理删除同一目录下的30天前的文件夹
set n=30
for /f "skip=%n% tokens=*" %%i in ('dir/b/ad/o-d') do rd "%%i" /s /q
这样没效果。

::删除与批处理在同一目录里的30天前的文件夹,日期的判断以文件夹的创建日期为准。
>dstdate.vbs echo LastDate=date()-30
>>dstdate.vbs echo FmtDate=right(year(LastDate),4) ^& right("0" ^& month(LastDate),2) ^& right("0" ^& day(LastDate),2)
>>dstdate.vbs echo wscript.echo FmtDate
::获取30天前的日期
for /f %%a in ('cscript /nologo dstdate.vbs') do set "dstdate=%%a"
::格式化日期为年/月/日
set dstdate=%dstdate:~0,4%^/%dstdate:~4,2%^/%dstdate:~6,2%
del dstdate.vbs /f /q >nul
for /f "skip=1 tokens=1-4 delims= " %%a in ('dir /tc /ad ^| find ":"') do (
if %%a lss %dstdate% rd "%%d" /s /q
)
pause

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-02-28
FORFILES /S /D -30 /C "cmd /c IF @isdir == TRUE rd /S /Q @path"本回答被提问者和网友采纳
第2个回答  2018-01-18
FORFILES /S /D -1 /C "cmd /c IF @isdir == TRUE rmdir /S /Q @path"
可以删除非空文件夹
第3个回答  2015-02-28
建议用rd命令
第4个回答  2015-02-28
可以用forfiles命令啊追问

forfiles 只能删文件吧,我想删文件夹

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网