标题: [文件操作] 批处理清除垃圾文件怎样优化? [打印本页]
作者: dennisle 时间: 2010-12-30 14:49 标题: 批处理清除垃圾文件怎样优化?
請教批處理高手:
小弟清除垃圾文件代碼可有優化或須改善的必要,懇請高手賜教感謝!- @ECHO OFF
- SetLocal EnableDelayedexpansion
- SET CLEAN=DEL /F /S /Q /A
- FOR /F "skip=1 tokens=1*" %%a IN ('WMIC Logicaldisk Where "DriveType=3" GET DeviceID') DO (SET Drives=!Drives! %%a)
- SET Drives=%Drives:~1%
- FOR %%i IN (%SystemDrive%) DO (
- %CLEAN% "%%i\*._mp"
- %CLEAN% "%%i\*.bak"
- %CLEAN% "%%i\*.chk"
- %CLEAN% "%%i\*.diz"
- %CLEAN% "%%i\*.dmp"
- %CLEAN% "%%i\*.err"
- %CLEAN% "%%i\*.gid"
- %CLEAN% "%%i\*.old"
- %CLEAN% "%%i\*.syd"
- %CLEAN% "%%i\*.tmp"
- %CLEAN% "%%i\*.sqm"
- )
- %CLEAN% "%UserProfile%\Cookies\*.*"
- %CLEAN% "%UserProfile%\Local Settings\History\*.*"
- %CLEAN% "%UserProfile%\Local Settings\Temp\*.*"
- %CLEAN% "%UserProfile%\Local Settings\Temporary Internet Files\*.*"
- %CLEAN% "%UserProfile%\Recent\*.*"
- IF EXIST "%ProgramFiles%\Temp" (
- %CLEAN% "%ProgramFiles%\Temp\*.*"
- )
- IF EXIST "%ProgramFiles%\InstallShield Installation Information" (
- %CLEAN% "%ProgramFiles%\InstallShield Installation Information\*.*"
- )
- FOR %%i IN (%SystemRoot%) DO (
- %CLEAN% "%%i\*.bak"
- %CLEAN% "%%i\*.tmp"
- %CLEAN% "%%i\KB*.log"
- %CLEAN% "%%i\Prefetch\*.*"
- )
- IF EXIST "%SystemRoot%\Downloaded Installations" (
- %CLEAN% "%SystemRoot%\Downloaded Installations\*.*"
- )
- IF NOT EXIST "%SystemRoot%\$%Random%$" MD "%SystemRoot%\$%Random%$"
- FOR /F %%a IN ('DIR %SystemRoot%\$*$ /AD /B /S') DO (
- %CLEAN% "%%a\*.*"
- )
- FOR /F %%a IN ('DIR %SystemRoot%\ie*updates /AD /B /S') DO (
- %CLEAN% "%%a\*.*"
- )
- FOR /F %%a IN ('DIR %SystemRoot%\Temp /AD /B /S') DO (
- %CLEAN% "%%a\*.*"
- )
- FOR %%i IN (%Drives%) DO (
- CACLS "%%i\System Volume Information" /T /E /C /G Administrator:F
- %CLEAN% "%%i\System Volume Information\*.*"
- %CLEAN% "%%i\RECYCLER\*.*"
- )
- PAUSE
复制代码
作者: hanyeguxing 时间: 2010-12-30 20:07
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。。。太累了,打不下去了。。。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |