[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 批处理清除垃圾文件怎样优化?

請教批處理高手:
小弟清除垃圾文件代碼可有優化或須改善的必要,懇請高手賜教感謝!
  1. @ECHO OFF
  2. SetLocal EnableDelayedexpansion
  3. SET CLEAN=DEL /F /S /Q /A
  4. FOR /F "skip=1 tokens=1*" %%a IN ('WMIC Logicaldisk Where "DriveType=3" GET DeviceID') DO (SET Drives=!Drives! %%a)
  5. SET Drives=%Drives:~1%
  6. FOR %%i IN (%SystemDrive%) DO (
  7. %CLEAN% "%%i\*._mp"
  8. %CLEAN% "%%i\*.bak"
  9. %CLEAN% "%%i\*.chk"
  10. %CLEAN% "%%i\*.diz"
  11. %CLEAN% "%%i\*.dmp"
  12. %CLEAN% "%%i\*.err"
  13. %CLEAN% "%%i\*.gid"
  14. %CLEAN% "%%i\*.old"
  15. %CLEAN% "%%i\*.syd"
  16. %CLEAN% "%%i\*.tmp"
  17. %CLEAN% "%%i\*.sqm"
  18. )
  19. %CLEAN% "%UserProfile%\Cookies\*.*"
  20. %CLEAN% "%UserProfile%\Local Settings\History\*.*"
  21. %CLEAN% "%UserProfile%\Local Settings\Temp\*.*"
  22. %CLEAN% "%UserProfile%\Local Settings\Temporary Internet Files\*.*"
  23. %CLEAN% "%UserProfile%\Recent\*.*"
  24. IF EXIST "%ProgramFiles%\Temp" (
  25. %CLEAN% "%ProgramFiles%\Temp\*.*"
  26. )
  27. IF EXIST "%ProgramFiles%\InstallShield Installation Information" (
  28. %CLEAN% "%ProgramFiles%\InstallShield Installation Information\*.*"
  29. )
  30. FOR %%i IN (%SystemRoot%) DO (
  31. %CLEAN% "%%i\*.bak"
  32. %CLEAN% "%%i\*.tmp"
  33. %CLEAN% "%%i\KB*.log"
  34. %CLEAN% "%%i\Prefetch\*.*"
  35. )
  36. IF EXIST "%SystemRoot%\Downloaded Installations" (
  37. %CLEAN% "%SystemRoot%\Downloaded Installations\*.*"
  38. )
  39. IF NOT EXIST "%SystemRoot%\$%Random%$" MD "%SystemRoot%\$%Random%$"
  40. FOR /F %%a IN ('DIR %SystemRoot%\$*$ /AD /B /S') DO (
  41. %CLEAN% "%%a\*.*"
  42. )
  43. FOR /F %%a IN ('DIR %SystemRoot%\ie*updates /AD /B /S') DO (
  44. %CLEAN% "%%a\*.*"
  45. )
  46. FOR /F %%a IN ('DIR %SystemRoot%\Temp /AD /B /S') DO (
  47. %CLEAN% "%%a\*.*"
  48. )
  49. FOR %%i IN (%Drives%) DO (
  50. CACLS "%%i\System Volume Information" /T /E /C /G Administrator:F
  51. %CLEAN% "%%i\System Volume Information\*.*"
  52. %CLEAN% "%%i\RECYCLER\*.*"
  53. )
  54. PAUSE
复制代码

1,FAT等文件系统下为Recycled,NTFS文件系统下为RECYCLER
2,System Volume Information为卷标目录,提供给系统还原使用
如果要使用系统还原,就不要清除这个目录
如果不使用,那就直接关闭该功能,而不要让其不断生成大量文件而后再不断删除
3,Temp等目录位置不是固定的,不要能简单的认为其为默认位置
4,dir加s参数与del加/s参数同时使用,重复递归子目录
5,dir /s/ad 造成父目录内的文件被过滤
6,直接清理Prefetch目录,将造成Layout..ini以后配置出错
7,KB*.log为补丁安装日志,也为补丁卸载提供日志,删除前请楼主先确认所有补丁永不卸载了。
8,bak为源文件被修改时的备份,删除前请楼主先确认原文件一切正常
9,xp 下已不存在 "%ProgramFiles%\Temp"
10,%SystemRoot%\$*$目录,同第7条,同时影响ie、wmp等程序的回滚。
11,"%UserProfile%\Recent\*.*"等目录,直接修改设置使其不产生文件,而不要让其生成文件再删除
12,"%UserProfile%\Cookies\*.*"清理前先确认下次登陆从前登陆过的网站密码
13,在%SystemDrive%执行del /s就已经对全分区所有目录内执行,再在%SystemRoot%内执行del /s,重复
14,IF NOT EXIST "%SystemRoot%\$%Random%$" MD "%SystemRoot%\$%Random%$"看不出有什么意义
15。。。太累了,打不下去了。。。
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

返回列表