系统优化批处理(磁盘清理+碎片+虚拟内存)For Win10/Win7

这是一个用于Windows 10和7系统的磁盘清理及优化脚本,包括清理临时文件、设置虚拟内存等操作。脚本通过注册表添加清理项,然后执行磁盘清理,并自动选择最大可用空间的非系统盘进行磁盘整理和设置虚拟内存。
摘要由CSDN通过智能技术生成

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 邮箱:279682817@qq.com
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 邮箱:279682817@qq.com
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

(全文完)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

humors221

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值