天天看點

系統優化批處理(磁盤清理+碎片+虛拟記憶體)For Win10/Win7

428更新說明:

1.修正了清理選項的問題。

429更新說明:

1.修改了WIN10修複聯機NTFS磁盤代碼。

簡要說明:

1、運作前建立下還原點

2、右鍵管理者運作

3、文本編輯器儲存為ansi編碼檔案類型為bat

4、有定制需要的自己看和改源碼,不要加入有害代碼,否則後果自負

5、如果清理選項要排除,不是把清理選項注釋或者删掉,而是把/d 2改成/d 0

6、windows10和windows7測試通過

7、本文使用工具process  monitor,lookhandler

8、一些經驗總結:for循環中用start,在win7中是異步的,會出現start語句沒執行完畢,就執行了下面的語句并且繼續下次循環,是以使用了call來執行

一、Windows10代碼:

@echo off
setlocal enabledelayedexpansion
rem 磁盤清理
echo 作者:phenix
echo 郵箱:[email protected]
echo 歡迎志同道合的好朋友:)
echo 磁盤清理開始.
rem 添加所有磁盤清理項
echo 添加所有磁盤清理項開始.
rem 添加清理Temporary Setup Files
echo 添加清理Temporary Setup Files.
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Active Setup Temp Folders" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理DirectX着色器緩存
echo 添加清理DirectX着色器緩存.
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\D3D Shader Cache" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理傳遞優化檔案
echo 添加清理傳遞優化檔案.
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Delivery Optimization Files" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理診斷資料檢視器資料庫檔案
echo 添加清理診斷資料檢視器資料庫檔案.
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Diagnostic Data Viewer database files" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理已下載下傳的程式檔案
echo 添加清理已下載下傳的程式檔案.
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Downloaded Program Files" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理Internet臨時檔案
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Internet Cache Files" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理語言資源檔案
echo 添加清理語言資源檔案.
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Language Pack" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理舊的Chkdsk檔案
echo 添加清理舊的Chkdsk檔案.
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Old ChkDsk Files" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理資源回收筒
echo 添加清理資源回收筒.
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Recycle Bin" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理RetailDemo Offline Content
echo 添加清理RetailDemo Offline Content.
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\RetailDemo Offline Content" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理設定日志檔案
echo 添加清理設定日志檔案.
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Setup Log Files" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理系統錯誤記憶體轉儲檔案
echo 添加清理系統錯誤記憶體轉儲檔案.
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\System error memory dump files" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理系統錯誤小型轉儲檔案
echo 添加清理系統錯誤小型轉儲檔案.
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\System error minidump files" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理臨時檔案
echo 添加清理臨時檔案.
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Temporary Files" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理縮略圖
echo 添加清理縮略圖.
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Thumbnail Cache" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理Windows更新清理
echo 添加清理Windows更新清理.
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Update Cleanup" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理使用者檔案曆史記錄
echo 添加清理使用者檔案曆史記錄.
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\User file versions" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理Microsoft Defender防病毒
echo 添加清理Microsoft Defender防病毒.
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Windows Defender" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理Windows錯誤報告和回報診斷
echo 添加清理Windows錯誤報告和回報診斷.
start /wait reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Windows Error Reporting Files" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加所有磁盤清理項結束
echo 添加所有磁盤清理項結束. 
rem 清理所有驅動器
start /wait cleanmgr /sagerun:99
echo 清理所有驅動器結束.
rem 擷取驅動器并磁盤整理
echo list volume>%temp%\vl.vbs
for /f "tokens=1,2,3,4* delims= " %%a in ('diskpart /s %temp%\vl.vbs^|findstr "磁盤分區"^|findstr /v "系統保留"') do (
set driver=%%c
echo 整理!driver!盤開始.
start /wait /b chkdsk /scan /forceofflinefix !driver!:
echo 整理!driver!盤結束.
)
rem 查詢非系統盤的最大可用空間驅動器
echo 查詢非系統盤的最大可用空間驅動器開始.
set maxSize=
set maxVol=
set maxUnit=
set winVol=!windir:~0,1!
for /f "tokens=1,2,3,4* delims= " %%a in ('diskpart /s %temp%\vl.vbs^|findstr "磁盤分區"^|findstr /v "系統保留"') do (
if not "%%c" equ "!winVol!" (  
echo select volume %%c>%temp%\v3.vbs 
echo detail volume>>%temp%\v3.vbs
for /f "tokens=1,2* delims=:" %%x in ('diskpart /s %temp%\v3.vbs^|findstr "卷可用空間"') do (
set temp=%%y
set leftSize=!temp:~2,-2!
set maxUnit=!temp:~-2!
if "!maxSize!" equ "" (
set maxSize=!leftSize!
set maxVol=%%c
) else (
if "!maxSize!" lss "!leftSize!" (
set maxSize=!leftSize!
set maxVol=%%c
)
)
)
)
)
echo 非系統盤最大可用空間!maxSize!,機關!maxUnit!,虛拟記憶體要設定的驅動器!maxVol!.
echo 查詢非系統盤的最大可用空間驅動器結束.
rem 設定虛拟記憶體
echo 設定!maxVol!盤由系統管理的虛拟記憶體
reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" /v PagingFiles /t REG_MULTI_SZ /d "!maxVol!:\pagefile.sys 0 0" /f
echo 優化結束.
pause
           

二、Win7代碼:

@echo off
setlocal enabledelayedexpansion
rem 磁盤清理
echo 作者:phenix
echo 郵箱:[email protected]
echo 歡迎志同道合的好朋友:)
echo 磁盤清理開始.
rem 添加所有磁盤清理項
echo 添加所有磁盤清理項開始.
rem 添加清理已下載下傳的程式檔案
echo 添加清理已下載下傳的程式檔案.
call reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Downloaded Program Files" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理Internet臨時檔案
echo 添加清理Internet臨時檔案
call reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Internet Cache Files" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理資源回收筒
echo 添加清理資源回收筒.
call reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Recycle Bin" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加Service Pack備份檔案
echo 添加清理Service Pack備份檔案.
call reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Service Pack Cleanup" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理設定日志檔案
echo 添加清理設定日志檔案.
call reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Setup Log Files" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理臨時檔案
echo 添加清理臨時檔案
call reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Temporary Files" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理縮略圖
echo 添加清理縮略圖.
call reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Thumbnail Cache" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加清理Windows更新清理
echo 添加清理Windows更新清理.
call reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Update Cleanup" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加每使用者隊列中的Windows錯誤
echo 添加每使用者隊列中的Windows錯誤.
call reg add  "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\VolumeCaches\Windows Error Reporting Queue Files" /v StateFlags0099 /t reg_dword /d 2 /f
rem 添加所有磁盤清理項結束
echo 添加所有磁盤清理項結束. 
rem 清理所有驅動器
call cleanmgr /sagerun:99
echo 清理所有驅動器結束.
rem 擷取驅動器并磁盤整理
echo list volume>%temp%\vl.vbs
for /f "tokens=1,2,3,4* delims= " %%a in ('diskpart /s %temp%\vl.vbs^|findstr "磁盤分區"') do (
set driver=%%c
echo 整理!driver!盤開始.
call chkdsk !driver!:
echo 整理!driver!盤結束.
)
rem 查詢非系統盤的最大可用空間驅動器
echo 查詢非系統盤的最大可用空間驅動器開始.
set maxSize=
set maxVol=
set maxUnit=
set winVol=!windir:~0,1!
for /f "tokens=1,2,3,4* delims= " %%a in ('diskpart /s %temp%\vl.vbs^|findstr "磁盤分區"') do (
if not "%%c" equ "!winVol!" (  
echo select volume %%c>%temp%\v3.vbs 
echo detail volume>>%temp%\v3.vbs
for /f "tokens=1,2* delims=:" %%x in ('diskpart /s %temp%\v3.vbs^|findstr "卷可用空間"') do (
set temp=%%y
set leftSize=!temp:~2,-2!
set maxUnit=!temp:~-2!
if "!maxSize!" equ "" (
set maxSize=!leftSize!
set maxVol=%%c
) else (
if "!maxSize!" lss "!leftSize!" (
set maxSize=!leftSize!
set maxVol=%%c
)
)
)
)
)
echo 非系統盤最大可用空間!maxSize!,機關!maxUnit!,虛拟記憶體要設定的驅動器!maxVol!.
echo 查詢非系統盤的最大可用空間驅動器結束.
rem 設定虛拟記憶體
echo 設定!maxVol!盤由系統管理的虛拟記憶體
reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" /v PagingFiles /t REG_MULTI_SZ /d "!maxVol!:\pagefile.sys 0 0" /f
echo 優化結束.
pause
           

(全文完)

繼續閱讀