Win10/11系统精简批处理:自定义精简组件,告别自带APP/杀毒拖慢系统

本套批处理脚本专为解决官方 Win10/11 系统臃肿问题设计,支持离线精简系统镜像,可自定义移除自带冗余 APP、拖慢系统的 Windows Defender 杀毒、Hyper-V 等组件,满足个性化精简需求。脚本分为 “提取需精简组件”“离线执行精简” 两步核心流程,搭配提权工具即可自动化完成精简,无需手动逐个删除,大幅降低系统精简门槛,适合追求轻量化系统的用户使用。
核心特点
1. 自定义精简,按需增减
脚本内置 Hyper-V、windows Defender、自带 APP、Webcam 等自用精简组件列表,可直接修改组件名,按自身需求增删需移除的系统组件,灵活适配不同使用场景。
2. 离线操作,安全可控
针对离线释放的系统文件夹进行精简操作,无需在运行中的系统内修改,避免误操作导致系统崩溃;精简前自动定位系统路径,适配 x86/amd64 不同架构。
3. 自动化流程,降低门槛
两步式操作:先提取目标组件的安装包信息,再通过提权工具执行离线精简,全程自动化,无需专业的 dism 命令操作经验,新手也能上手。
4. 精准定位,避免出错
自动识别系统架构(x86/amd64),精准匹配组件安装包名称;运行中弹出路径选择框,引导选择正确的系统文件夹,减少路径错误导致的精简失败。
使用方法(三步操作)
- 准备工作:下载提权工具(如 NSudoC.exe),放入脚本同级文件夹;解压离线系统镜像至本地,找到 windows 目录的上一级文件夹(精简目标路径)。
- 提取组件:右键以管理员权限运行 “1 - 提取要精简的组件.cmd”,在弹出的选择框中选中离线系统文件夹,脚本自动提取目标组件的包名并生成 Remove.txt。
- 执行精简:右键以管理员权限运行 “2 - 离线精简.cmd”,同样选中离线系统文件夹,等待脚本调用 dism 完成组件移除,过程中若报错需检查组件名是否正确。
内置默认精简组件(可自定义修改)
Microsoft-Hyper-V-ClientEdition-Package、Windows-Defender-Client-Package、Microsoft-Windows-WebcamExperience-Package、Microsoft-Windows-Internet-Browser-Package 等冗余组件(完整列表见脚本内),覆盖 Hyper-V、杀毒、自带 APP、冗余功能模块。
重要提醒
- 组件名需严格匹配系统包名,若输入错误会导致精简失败,需核对后再修改脚本;
- 仅适用于 Win10/11 系统离线精简,运行中的系统直接精简可能导致功能异常;
- 精简前建议备份系统镜像 / 文件夹,避免误删核心组件导致系统无法使用;
- 提权工具需与脚本放在同一目录,否则会提示 “找不到文件”,导致精简脚本无法运行。
完整脚本代码
1 - 提取要精简的组件.cmd
@echo off
pushd "%~dp0"
:InImageSource
set folder=mshta "javascript:var folder=new ActiveXObject('Shell.Application').BrowseForFolder(0,'选择需精简系统所在路径(windows文件夹上一级)', 513, '');if(folder) new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(folder.Self.Path);window.close();"
for /f %%f in ('%folder%') do set "MT=%%f"
if "%MT%" equ "" exit
if EXIST "%MT%\Program Files (x86)" (set "xos=amd64") else (set "xos=x86")
echo=>Remove.txt
echo=>"%temp%\Remove.txt"
for %%i in (
Microsoft-Hyper-V-ClientEdition-Package
Microsoft-Windows-AppManagement-AppV-Package
Microsoft-Windows-AppManagement-AppV-WOW64-Package
Microsoft-Windows-AppManagement-UEV-Package
Microsoft-Windows-AppManagement-UEV-WOW64-Package
Microsoft-Windows-Containers-OptionalFeatures-Package
Microsoft-Windows-DesktopFileExplorer-Package
Microsoft-Windows-DirectoryServices-ADAM-Client-Package
Microsoft-Windows-Holographic-Desktop-Merged-Package
Microsoft-Windows-Holographic-Desktop-Merged-WOW64-Package
Microsoft-Windows-HVSI-Package
Microsoft-Windows-HVSI-WOW64-Package
Microsoft-Windows-Internet-Browser-Package
Microsoft-Windows-Management-SecureAssessment-Package
Microsoft-Windows-MultiPoint-Connector-Package
Microsoft-Windows-OfflineFiles-Package
Microsoft-Windows-OfflineFiles-WOW64-Package
Microsoft-Windows-OneCore-Containers-Client-Opt-Package
Microsoft-Windows-OneCore-Containers-Opt-Package
Microsoft-Windows-Printing-XPSServices-Package
Microsoft-Windows-SearchEngine-Client-Package
Microsoft-Windows-SenseClient-Package
Microsoft-Windows-StepsRecorder-Package
Microsoft-Windows-TerminalServices-AppServer-Client-Package
Microsoft-Windows-WebcamExperience-Package
Microsoft-Windows-WebcamExperience-WOW64-Package
Microsoft-Windows-WinSATMediaFiles-Package
Microsoft-Windows-Xps-Xps-Viewer-Opt-Package
Windows-Defender-AM-Default-Definitions-OptionalWrapper-Package
Windows-Defender-ApplicationGuard-Inbox-Package
Windows-Defender-ApplicationGuard-Inbox-WOW64-Package
Windows-Defender-Client-Package
Windows-Defender-Group-Policy-Package
) do (
dir /a/b "%MT%\Windows\servicing\Packages\%%i~*~%xos%~~*.mum" >>"%temp%\Remove.txt"
)
for /f %%i in (%temp%\Remove.txt) do (echo %%~ni>>Remove.txt)
exit /b
2 - 离线精简.cmd
@echo off
cd /d "%~dp0"
%~dp0NSudoC.exe -U:T -P:E "%~dp0Remove_Offline.cmd"
Remove_Offline.cmd
@echo off
pushd "%~dp0"
:InImageSource
set folder=mshta "javascript:var folder=new ActiveXObject('Shell.Application').BrowseForFolder(0,'选择需精简系统所在路径(windows文件夹上一级)', 513, '');if(folder) new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(folder.Self.Path);window.close();"
for /f %%f in ('%folder%') do set "MT=%%f"
if "%MT%" equ "" exit
reg load HKLM\SOFT "%MT%\Windows\System32\config\software" >nul
for /f %%i in ('findstr /i . Remove.txt 2^>nul') do (call :SETVALUE %%i )
reg unload HKLM\SOFT >nul
for /f %%i in ('findstr /i . Remove.txt 2^>nul') do dism /NoRestart /image:%MT% /Remove-package /Packagename:%%i
pause
exit /b
:SETVALUE
reg add "HKLM\SOFT\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\%~1" /v Visibility /t REG_DWORD /d 1 /f >nul 2>&1
reg add "HKLM\SOFT\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\%~1" /v DefVis /t REG_DWORD /d 2 /f >nul 2>&1
reg delete "HKLM\SOFT\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\%~1\Owners" /f >nul 2>&1
goto:eof
阅读剩余
网站声明
本站内容可能存在水印或引流等信息,请擦亮眼睛自行鉴别;以免上当受骗;
本站提供的内容仅限用于学习和研究目的,不得将本站内容用于商业或者非法用途;