@ECHO OFF
SETLOCAL EnableDelayedExpansion
((IF %Processor_Architecture%==ARM64 SET SDEL_EXT_=SDELETE64A)&(IF %Processor_Architecture%==AMD64 SET SDEL_EXT_=SDELETE64)&(IF %Processor_Architecture%==x86 SET SDEL_EXT_=SDELETE))
REM "Microsoft Edge Developer documentation - Distribute your app and the WebView2 Runtime - Detect if a WebView2 Runtime is already installed" -> "https://learn.microsoft.com/en-us/microsoft-edge/webview2/concepts/distribution?tabs=dotnetcsharp#detect-if-a-webview2-runtime-is-already-installed"
IF [%1]==[] GOTO MSEDGERMV_SKIP_SRT_LBL_0_
IF NOT %1==BYPASS GOTO MSEDGERMV_SKIP_SRT_LBL_0_
IF [%2]==[] GOTO MSEDGERMV_SKIP_SRT_LBL_0_
IF %2==1 ((SET MSEDGERMV_VAR_SEL_=1)&(GOTO MSEDGERMV_SKIP_SRT_LBL_1_))
IF %2==2 ((SET MSEDGERMV_VAR_SEL_=2)&(GOTO MSEDGERMV_SKIP_SRT_LBL_1_))
IF %2==3 ((SET MSEDGERMV_VAR_SEL_=3)&(GOTO MSEDGERMV_SKIP_SRT_LBL_1_))
IF %2==4 ((SET MSEDGERMV_VAR_SEL_=4)&(GOTO MSEDGERMV_SKIP_SRT_LBL_1_))
:MSEDGERMV_SKIP_SRT_LBL_0_
CLS
ECHO [MS EDGE REMOVAL SCRIPT:]
ECHO:
ECHO [1] [RECOMMENDED:] [MSEdge]
ECHO [2] [OPTIONAL:] [MSEdgeWebView]
ECHO [3] [OPTIONAL:] [MSEdgeCore]
ECHO [4] [SCAN ^& REMOVE All]
ECHO [5] [NONE / SKIP]
ECHO:
CHOICE /C 12345 /N /M "CHOOSE FROM THE FOLLOWING..."
IF %ErrorLevel% EQU 255 GOTO MSEDGERMV_SKIP_SRT_LBL_0_
IF %ErrorLevel% EQU 5 GOTO MSEDGERMVLSTLNE_
IF %ErrorLevel% EQU 1 ((SET MSEDGERMV_VAR_SEL_=1)&(SET MSEDGERMVTMP_SEL_VAR_=[MSEdge]))
IF %ErrorLevel% EQU 2 ((SET MSEDGERMV_VAR_SEL_=2)&(SET MSEDGERMVTMP_SEL_VAR_=[MSEdgeWebView]))
IF %ErrorLevel% EQU 3 ((SET MSEDGERMV_VAR_SEL_=3)&(SET MSEDGERMVTMP_SEL_VAR_=[MSEdgeCore]))
IF %ErrorLevel% EQU 4 ((SET MSEDGERMV_VAR_SEL_=4)&(SET MSEDGERMVTMP_SEL_VAR_=[MSEdge] + [MSEdgeWebView] + [MSEdgeCore]))
CHOICE /C YN /N /M "REMOVING: %MSEDGERMVTMP_SEL_VAR_%... <- [Y] YES TO PROCEED [N] NO TO SKIP?"
IF %ErrorLevel% EQU 255 GOTO MSEDGERMV_SKIP_SRT_LBL_0_
IF %ErrorLevel% EQU 2 GOTO MSEDGERMVLSTLNE_
:MSEDGERMV_SKIP_SRT_LBL_1_
SET MSEDGERMV_CNTR_=0
IF %MSEDGERMV_VAR_SEL_% EQU 1 GOTO MSEDGERMV_SKIP_1_LBL
IF %MSEDGERMV_VAR_SEL_% EQU 3 GOTO MSEDGERMV_SKIP_2_LBL
IF EXIST "%ProgramFiles(x86)%\Microsoft\EdgeWebView" (((TAKEOWN /R /A /F "%ProgramFiles(x86)%\Microsoft\EdgeWebView" /D Y)&(ICACLS "\\?\%ProgramFiles(x86)%\Microsoft\EdgeWebView" /RESET /T /C /L /Q)) >nul 2>&1)
FOR /F "usebackq tokens=* delims=" %%A IN (`DIR /B /S "%ProgramFiles(x86)%\Microsoft\EdgeWebView\Application\setup.exe" 2^> nul`) DO ("%%~sA" --force-uninstall --uninstall --msedgewebview --system-level --verbose-logging)
((IF EXIST "%SystemRoot%\System32\%SDEL_EXT_%.EXE" %SDEL_EXT_% -ACCEPTEULA -Q -R -S -NOBANNER "\\?\%ProgramFiles(x86)%\Microsoft\EdgeWebView")&(IF NOT EXIST "%SystemRoot%\System32\%SDEL_EXT_%.EXE" RMDIR /S /Q "\\?\%ProgramFiles(x86)%\Microsoft\EdgeWebView" 2> nul))
:MSEDGERMV_SKIP_1_LBL
IF %MSEDGERMV_VAR_SEL_% EQU 2 GOTO MSEDGERMV_SKIP_3_LBL
IF EXIST "%ProgramFiles(x86)%\Microsoft\Edge" (((TAKEOWN /R /A /F "%ProgramFiles(x86)%\Microsoft\Edge" /D Y)&(ICACLS "\\?\%ProgramFiles(x86)%\Microsoft\Edge" /RESET /T /C /L /Q)) >nul 2>&1)
IF EXIST "%ProgramFiles%\Microsoft\EdgeUpdater" (((TAKEOWN /R /A /F "%ProgramFiles%\Microsoft\EdgeUpdater" /D Y)&(ICACLS "\\?\%ProgramFiles%\Microsoft\EdgeUpdater" /RESET /T /C /L /Q)) >nul 2>&1)
IF EXIST "%ProgramFiles(x86)%\Microsoft\EdgeUpdate" (((TAKEOWN /R /A /F "%ProgramFiles(x86)%\Microsoft\EdgeUpdate" /D Y)&(ICACLS "\\?\%ProgramFiles(x86)%\Microsoft\EdgeUpdate" /RESET /T /C /L /Q)) >nul 2>&1)
IF EXIST "%ProgramData%\Microsoft\EdgeUpdate" (((TAKEOWN /R /A /F "%ProgramData%\Microsoft\EdgeUpdate" /D Y)&(ICACLS "\\?\%ProgramData%\Microsoft\EdgeUpdate" /RESET /T /C /L /Q)) >nul 2>&1)
IF EXIST "%AppData%\Microsoft\Edge" (((TAKEOWN /R /A /F "%AppData%\Microsoft\Edge" /D Y)&(ICACLS "\\?\%AppData%\Microsoft\Edge" /RESET /T /C /L /Q)) >nul 2>&1)
IF EXIST "%LocalAppData%\Microsoft\Edge" (((TAKEOWN /R /A /F "%LocalAppData%\Microsoft\Edge" /D Y)&(ICACLS "\\?\%LocalAppData%\Microsoft\Edge" /RESET /T /C /L /Q)) >nul 2>&1)
FOR /F "usebackq tokens=* delims=" %%A IN (`DIR /B /S "%ProgramFiles(x86)%\Microsoft\Edge\Application\setup.exe" 2^> nul`) DO ("%%~sA" --force-uninstall --uninstall --system-level --verbose-logging)
((IF EXIST "%SystemRoot%\System32\%SDEL_EXT_%.EXE" %SDEL_EXT_% -ACCEPTEULA -Q -R -S -NOBANNER "\\?\%ProgramFiles(x86)%\Microsoft\Edge")&(IF NOT EXIST "%SystemRoot%\System32\%SDEL_EXT_%.EXE" RMDIR /S /Q "\\?\%ProgramFiles(x86)%\Microsoft\Edge" 2> nul))
((IF EXIST "%SystemRoot%\System32\%SDEL_EXT_%.EXE" %SDEL_EXT_% -ACCEPTEULA -Q -R -S -NOBANNER "\\?\%ProgramFiles%\Microsoft\EdgeUpdater")&(IF NOT EXIST "%SystemRoot%\System32\%SDEL_EXT_%.EXE" RMDIR /S /Q "\\?\%ProgramFiles%\Microsoft\EdgeUpdater" 2> nul))
((IF EXIST "%SystemRoot%\System32\%SDEL_EXT_%.EXE" %SDEL_EXT_% -ACCEPTEULA -Q -R -S -NOBANNER "\\?\%ProgramFiles(x86)%\Microsoft\EdgeUpdate")&(IF NOT EXIST "%SystemRoot%\System32\%SDEL_EXT_%.EXE" RMDIR /S /Q "\\?\%ProgramFiles(x86)%\Microsoft\EdgeUpdate" 2> nul))
((IF EXIST "%SystemRoot%\System32\%SDEL_EXT_%.EXE" %SDEL_EXT_% -ACCEPTEULA -Q -R -S -NOBANNER "\\?\%ProgramData%\Microsoft\EdgeUpdate")&(IF NOT EXIST "%SystemRoot%\System32\%SDEL_EXT_%.EXE" RMDIR /S /Q "\\?\%ProgramData%\Microsoft\EdgeUpdate" 2> nul))
((IF EXIST "%SystemRoot%\System32\%SDEL_EXT_%.EXE" %SDEL_EXT_% -ACCEPTEULA -Q -R -S -NOBANNER "\\?\%AppData%\Microsoft\Edge")&(IF NOT EXIST "%SystemRoot%\System32\%SDEL_EXT_%.EXE" RMDIR /S /Q "\\?\%AppData%\Microsoft\Edge" 2> nul))
((IF EXIST "%SystemRoot%\System32\%SDEL_EXT_%.EXE" %SDEL_EXT_% -ACCEPTEULA -Q -R -S -NOBANNER "\\?\%LocalAppData%\Microsoft\Edge")&(IF NOT EXIST "%SystemRoot%\System32\%SDEL_EXT_%.EXE" RMDIR /S /Q "\\?\%LocalAppData%\Microsoft\Edge" 2> nul))
:MSEDGERMV_SKIP_2_LBL
IF %MSEDGERMV_VAR_SEL_% EQU 1 GOTO MSEDGERMV_SKIP_3_LBL
IF EXIST "%ProgramFiles(x86)%\Microsoft\EdgeCore" (((TAKEOWN /R /A /F "%ProgramFiles(x86)%\Microsoft\EdgeCore" /D Y)&(ICACLS "\\?\%ProgramFiles(x86)%\Microsoft\EdgeCore" /RESET /T /C /L /Q)) >nul 2>&1)
FOR /F "usebackq tokens=* delims=" %%A IN (`DIR /B /S "%ProgramFiles(x86)%\Microsoft\EdgeCore\setup.exe" 2^> nul`) DO ("%%~sA" --force-uninstall --uninstall --system-level --verbose-logging)
((IF EXIST "%SystemRoot%\System32\%SDEL_EXT_%.EXE" %SDEL_EXT_% -ACCEPTEULA -Q -R -S -NOBANNER "\\?\%ProgramFiles(x86)%\Microsoft\EdgeCore")&(IF NOT EXIST "%SystemRoot%\System32\%SDEL_EXT_%.EXE" RMDIR /S /Q "\\?\%ProgramFiles(x86)%\Microsoft\EdgeCore" 2> nul))
:MSEDGERMV_SKIP_3_LBL
IF %MSEDGERMV_VAR_SEL_% EQU 4 ((((SC CONFIG edgeupdate START= DISABLED)&(SC CONFIG edgeupdatem START= DISABLED))&((NET STOP edgeupdate)&(NET STOP edgeupdatem))&((SC DELETE edgeupdate)&(SC DELETE edgeupdatem))) >nul 2>&1)
IF %MSEDGERMV_VAR_SEL_% EQU 4 FOR /F "usebackq tokens=* delims=" %%A IN (`REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\TaskCache\Tree" /F "MicrosoftEdgeUpdateTaskMachine" ^| FIND "HKEY_LOCAL_MACHINE"`) DO ((SET TMP_VAR_=%%A)&(SetObjectSecurity KEY "HKLM!TMP_VAR_:~18!" "O:BA" -q)&(SetObjectSecurity KEY "HKLM!TMP_VAR_:~18!" "O:BAG:SYD:PAI(A;CI;KR;;;RC)(A;CI;KA;;;SY)(A;CI;KA;;;BA)(A;CI;KA;;;BU)(A;;KR;;;AC)" -q)&(REG DELETE "HKLM!TMP_VAR_:~18!" /F))
:MSEDGERMVLSTLNE_
ENDLOCAL DisableDelayedExpansion
MOVE NUL 2>&0
版权归属:
七月流火
许可协议:
本文使用《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》协议授权
评论区