Board logo

标题: [文件操作] 【已解决】批处理怎样删除超过一定时间的文件夹? [打印本页]

作者: chouxia    时间: 2015-12-14 11:21     标题: 【已解决】批处理怎样删除超过一定时间的文件夹?

本帖最后由 chouxia 于 2015-12-15 11:06 编辑

需求:删除一定时间以前的文件夹。
  1. @echo off
  2. Setlocal enabledelayedexpansion
  3. for /f "tokens=1,2,3,4,5 delims=/: " %%d in ("%date%") do (
  4. echo %date%
  5. echo %%e %%f
  6. set /a sysdate=%%e*30+%%f
  7. )
  8. for /f %%i in ("e:\123.txt") do (
  9. echo %%~ti
  10. for /f "tokens=1,2,3,4,5 delims=/: " %%a in ("%%~ti") do (
  11. echo %%b %%c
  12. set /a filedate=%%b*30+%%c
  13. )
  14. echo !sysdate! !filedate!
  15. set /a dd=!sysdate!-!filedate!
  16. if !dd! gtr !fazhi! (del %%i)
  17. )
  18. pause
复制代码
这段代码处理文件应该没问题。处理文件夹要怎么做?
把e:\123.txt替换成什么?
作者: chouxia    时间: 2015-12-14 11:26

想到了  用for /d
这代码应该如何改进?
作者: pcl_test    时间: 2015-12-14 13:00

创建日期?最后修改日期?
作者: chouxia    时间: 2015-12-14 15:23

回复 3# pcl_test


    最后修改日期
作者: 回家路上    时间: 2015-12-14 18:10

上面脚本... ...

看你意思,就是删除1天前文件夹。如果输出的是要删除的,去掉“echo;”真正删除
  1. forfiles /d -1 /c "cmd /c if /i @isdir==true echo;rd /s /q @path"
复制代码

作者: chouxia    时间: 2015-12-15 08:46

本帖最后由 chouxia 于 2015-12-15 08:50 编辑

回复 5# 回家路上


   感谢。
这个命令从来没用过啊




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2