@cyysu
2017-10-12T10:21:59.000000Z
字数 2734
阅读 933
- 时间:2017年10月11日
- 作者:Kali
- 邮箱:cyysu.github.io@gmail.com/2869905223@qq.com/微信lwyx1413
- 版本:4.0
- 描述:批处理实战基础篇十,本次主要给出几个栗子。
Bat系列教程
@echo offsetlocal enableextensions enabledelayedexpansionpath %SystemRoot%\System32;%SystemRoot%;%SystemRoot%\System32\Wbem:: Unattended install flag. When set, the script will not require user input.set unattended=noif "%1"=="/u" set unattended=yes:: Make sure the script is running as admincall :ensure_admin:: Delete "App Paths" entryreg delete "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\mpv.exe" /f >nul:: Delete HKCR subkeysset classes_root_key=HKLM\SOFTWARE\Classesreg delete "%classes_root_key%\Applications\mpv.exe" /f >nulreg delete "%classes_root_key%\SystemFileAssociations\video\OpenWithList\mpv.exe" /f >nulreg delete "%classes_root_key%\SystemFileAssociations\audio\OpenWithList\mpv.exe" /f >nul:: Delete AutoPlay handlersset autoplay_key=HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlersreg delete "%autoplay_key%\Handlers\MpvPlayDVDMovieOnArrival" /f >nulreg delete "%autoplay_key%\EventHandlers\PlayDVDMovieOnArrival" /v "MpvPlayDVDMovieOnArrival" /f >nulreg delete "%autoplay_key%\Handlers\MpvPlayBluRayOnArrival" /f >nulreg delete "%autoplay_key%\EventHandlers\PlayBluRayOnArrival" /v "MpvPlayBluRayOnArrival" /f >nul:: Delete "Default Programs" entryreg delete "HKLM\SOFTWARE\RegisteredApplications" /v "mpv" /f >nulreg delete "HKLM\SOFTWARE\Clients\Media\mpv\Capabilities" /f >nul:: Delete all OpenWithProgIds referencing ProgIds that start with io.mpv.for /f "usebackq eol= delims=" %%k in (`reg query "%classes_root_key%" /f "io.mpv.*" /s /v /c`) do (set "key=%%k"echo !key!| findstr /r /i "^HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\\.[^\\][^\\]*\\OpenWithProgIds$" >nulif not errorlevel 1 (for /f "usebackq eol= tokens=1" %%v in (`reg query "!key!" /f "io.mpv.*" /v /c`) do (set "value=%%v"echo !value!| findstr /r /i "^io\.mpv\.[^\\][^\\]*$" >nulif not errorlevel 1 (echo Deleting !key!\!value!reg delete "!key!" /v "!value!" /f >nul)))):: Delete all ProgIds starting with io.mpv.for /f "usebackq eol= delims=" %%k in (`reg query "%classes_root_key%" /f "io.mpv.*" /k /c`) do (set "key=%%k":: 这里用到管道操作 findstr /r 表示将搜索字符串作为一般表达式 -i 表示搜索不区分大小写echo !key! | findstr /r /i "^HKEY_LOCAL_MACHINE\\SOFTWARE\\Classes\\io\.mpv\.[^\\][^\\]*$" >nulif not errorlevel 1 (echo Deleting !key!reg delete "!key!" /f >nul))echo Uninstalled successfullyif [%unattended%] == [yes] exit 0pauseexit 0:dieif not [%1] == [] echo %~1if [%unattended%] == [yes] exit 1pauseexit 1:ensure_admin:: 'openfiles' is just a commmand that is present on all supported Windows:: versions, requires admin privileges and has no side effects, see::: https://stackoverflow.com/questions/4051883/batch-script-how-to-check-for-admin-rightsopenfiles >nul 2>&1if errorlevel 1 (echo This batch script requires administrator privileges. Right-click onecho mpv-uninstall.bat and select "Run as administrator".call :die)goto :EOF
支付宝 微信