本帖最后由 crist 于 2012-11-20 17:12 编辑
根据网上的一些清理垃圾的批处理,我做了一个批处理作为关机脚本,代码如下:- @echo off
- rem 记录系统注销时间
- set time=%time: =0%
- echo>>%systemroot%\system32\LoginAndLogoutRecord.Log logout time: %date% %time%
- rem 正在清理注册表...
- reg delete "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Word\Data" /va /f >NUL 2>NUL
- reg delete "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Excel\Recent Files" /va /f >NUL 2>NUL
- reg delete "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\PowerPoint\Recent File List" /va /f >NUL 2>NUL
- reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist" /va /f >NUL 2>NUL
- reg delete "HKEY_CURRENT_USER\Software\WinRAR\ArcHistory" /va /f >NUL 2>NUL
- reg delete "HKEY_CURRENT_USER\Software\WinRAR\DialogEditHistory" /va /f >NUL 2>NUL
- reg delete "HKEY_CURRENT_USER\Software\Adobe\MediaBrowser\MRU\Photoshop\FileList" /va /f >NUL 2>NUL
- reg delete "HKEY_CURRENT_USER\Software\Microsoft\Search Assistant\ACMru" /va /f >NUL 2>NUL
- reg delete "HKEY_CURRENT_USER\Software\KMPlayer\KMP2.0" /v "LastFileName" /f >NUL 2>NUL
- reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU" /va /f >NUL 2>NUL
- reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\LastVisitedMRU" /va /f >NUL 2>NUL
- reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\OpenSaveMRU" /va /f >NUL 2>NUL
- reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs" /va /f >NUL 2>NUL
- reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StreamMRU" /va /f >NUL 2>NUL
- reg delete "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\TypedURLs" /va /f >NUL 2>NUL
- rem 查询IE缓存位置
- reg query "HKCU\software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cache>%temp%\cleantmp.txt
- rem 查询cookies位置
- reg query "HKCU\software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Cookies>>%temp%\cleantmp.txt
- rem 查询历史纪录位置
- reg query "HKCU\software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v History>>%temp%\cleantmp.txt
- rem 查询NetHood位置
- reg query "HKCU\software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v NetHood>>%temp%\cleantmp.txt
- rem 查询Recent位置
- reg query "HKCU\software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Recent>>%temp%\cleantmp.txt
- for /f "tokens=3*" %%a in (%temp%\cleantmp.txt) do (
- if exist "%%a %%b\*.*" del/f/q/s/a "%%a %%b\*.*" >NUL 2>NUL
- for /d %%i in ("%%a %%b\*.*") do (if exist "%%i" rd/q/s "%%i")>NUL 2>NUL
- )
- del/f/q/a %temp%\cleantmp.txt >NUL 2>NUL
- rem 正在清理磁盘垃圾...
- del/f/q/s/a "%temp%\*.*" >NUL 2>NUL
- del/f/q/s/a "%systemroot%\Temp\*.*" >NUL 2>NUL
- del/f/q/s/a "%systemroot%\Prefetch\*.*" >nul 2>nul
- if exist "%systemdrive%\Temp" rd/q/s "%systemdrive%\Temp" >nul 2>nul
-
- for /d %%a in ("%systemroot%\$*$") do (rd/q/s "%%a")>NUL 2>NUL
- for /d %%a in ("%temp%\*.*") do (rd/q/s "%%a")>NUL 2>NUL
- for /d %%a in ("%tmp%\*.*") do (rd/q/s "%%a")>NUL 2>NUL
-
- for /f "delims=" %%i in ('dir/ad-h/b/o "%systemdrive%\Documents and Settings"') do (
- del/f/q/s/a "%systemdrive%\Documents and Settings\%%i\Cookies\*.txt" >nul 2>nul
- del/f/q/s/a "%systemdrive%\Documents and Settings\%%i\Local Settings\temp\*.*" >nul 2>nul
- del/f/q/s/a "%systemdrive%\Documents and Settings\%%i\Local Settings\Temporary Internet Files\*.*" >nul 2>nul
- del/f/q/s/a "%systemdrive%\Documents and Settings\%%i\recent\*.*" >nul 2>nul
- for /f "tokens=1 delims= " %%b in ('dir/ad/b/o "%systemdrive%\Documents and Settings\%%i\Local Settings\temp"') do (rd/q/s "%systemdrive%\Documents and Settings\%%i\Local Settings\temp\%%b")>nul 2>nul
- for /f "tokens=1 delims= " %%d in ('dir/ad/b/o "%systemdrive%\Documents and Settings\%%i\Local Settings\Temporary Internet Files"') do (rd/q/s "%systemdrive%\Documents and Settings\%%i\Local Settings\Temporary Internet Files\%%d")>nul 2>nul
- )
-
- for /f "delims=" %%i in ('dir/ad/b/s/o "%systemdrive%\Documents and Settings\Chrome"') do (
- del/f/q/s/a "%%i\User Data\*Archived*" >NUL 2>NUL
- del/f/q/s/a "%%i\User Data\*Cookies*" >NUL 2>NUL
- del/f/q/s/a "%%i\User Data\*History*" >NUL 2>NUL
- del/f/q/s/a "%%i\User Data\*Index*" >NUL 2>NUL
- del/f/q/s/a "%%i\User Data\*journal*" >NUL 2>NUL
- del/f/q/s/a "%%i\User Data\*Links*" >NUL 2>NUL
- del/f/q/s/a "%%i\User Data\*Session*" >NUL 2>NUL
- del/f/q/s/a "%%i\User Data\*Shortcuts*" >NUL 2>NUL
- del/f/q/s/a "%%i\User Data\*Sites*" >NUL 2>NUL
- del/f/q/s/a "%%i\User Data\*Tabs*" >NUL 2>NUL
- del/f/q/s/a "%%i\User Data\*.bak" >NUL 2>NUL
-
- for /f "delims=" %%a in ('dir/ad/b/s "%%i\User Data\*cache*"') do (if exist "%%a" rd/q/s "%%a")>NUL 2>NUL
- for /f "delims=" %%b in ('dir/ad/b/s "%%i\User Data\*databases*"') do (if exist "%%b" rd/q/s "%%b")>NUL 2>NUL
- for /f "delims=" %%c in ('dir/ad/b/s "%%i\User Data\*Local Storage*"') do (if exist "%%c" rd/q/s "%%c")>NUL 2>NUL
- for /f "delims=" %%d in ('dir/ad/b/s "%%i\User Data\*Media Cache*"') do (if exist "%%d" rd/q/s "%%d")>NUL 2>NUL
- )
-
- wmic nteventlog get filename
- wmic nteventlog where filename="AppEvent" call cleareventlog
- wmic nteventlog where filename="SecEvent" call cleareventlog
- wmic nteventlog where filename="SysEvent" call cleareventlog
-
- exit
复制代码 11月20号更新
请大家看看代码中是否存在错误或者不合理或者不够简洁的地方。谢谢 |