|
|
本帖最后由 尽善尽美 于 2026-1-13 07:09 编辑
- @echo off
- >nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
- if %errorlevel% neq 0 (
- echo [91m请以管理员身份运行![0m
- pause
- exit /b 1
- )
- title 全面禁用Edge自动更新
- color 0A
- echo [93m1. 终止Edge更新进程[0m
- taskkill /f /im MicrosoftEdgeUpdate.exe 2>nul
- if %errorlevel% equ 0 (
- echo [92m成功终止MicrosoftEdgeUpdate.exe进程[0m
- ) else (
- echo [94m未检测到MicrosoftEdgeUpdate.exe进程运行[0m
- )
- echo.
- echo [93m2. 配置核心注册表策略(HKLM)[0m
- reg add "HKLM\SOFTWARE\Policies\Microsoft\EdgeUpdate" /v DisableAutoUpdate /t REG_DWORD /d 1 /f >nul
- reg add "HKLM\SOFTWARE\Policies\Microsoft\EdgeUpdate" /v UpdateDefault /t REG_DWORD /d 0 /f >nul
- reg add "HKLM\SOFTWARE\Policies\Microsoft\EdgeUpdate" /v AppxBundle /t REG_DWORD /d 0 /f >nul
- echo [92m注册表策略配置完成[0m
- echo.
- echo [93m3. 禁用并停止Edge更新服务[0m
- sc config edgeupdate start= disabled >nul
- sc config edgeupdatem start= disabled >nul
- :: 停止服务时忽略1062错误(服务未启动)
- sc stop edgeupdate 2>nul
- if %errorlevel% equ 1062 (
- echo [94mEdgeUpdate服务未启动,无需停止[0m
- ) else if %errorlevel% equ 0 (
- echo [92m成功停止EdgeUpdate服务[0m
- )
- sc stop edgeupdatem 2>nul
- if %errorlevel% equ 1062 (
- echo [94mEdgeUpdateM服务未启动,无需停止[0m
- ) else if %errorlevel% equ 0 (
- echo [92m成功停止EdgeUpdateM服务[0m
- )
- echo.
- echo [93m4. 删除Edge更新计划任务[0m
- :: 精准筛选计划任务路径,解决语法错误
- for /f "tokens=*" %%a in ('schtasks /query /fo csv /nh ^| findstr /i "MicrosoftEdgeUpdateTask"') do (
- for /f "tokens=1 delims=," %%b in ("%%a") do (
- set "taskpath=%%b"
- setlocal enabledelayedexpansion
- :: 去除CSV的引号
- set "taskpath=!taskpath:"=!"
- schtasks /delete /tn "!taskpath!" /f >nul
- if !errorlevel! equ 0 (
- echo [92m成功删除计划任务:!taskpath![0m
- ) else (
- echo [91m删除计划任务!taskpath!失败[0m
- )
- endlocal
- )
- )
- echo.
- echo [93m5. 清理用户级更新配置[0m
- reg delete "HKCU\Software\Microsoft\EdgeUpdate" /f 2>nul
- echo [92m用户级更新配置清理完成[0m
- echo.
- echo [92m=============================================[0m
- echo [92m操作完成!重启电脑后所有设置生效[0m
- echo [92m=============================================[0m
- pause >nul
复制代码 保存为ANSI(cp-936)编码格式的CMD
|
|