如何通过批处理命令操作注册表修改默认打开方式
求助如何通过批处理命令操作注册表修改默认打开方式?重装系统后,图片、视频、音乐文件等想通过第三方软件打开,第三方软件不安装,直接用绿色版,将绿色版的第三方软件作为默认打开图片、视频、音乐文件等,如何通过批处理修改注册表的方式实现?
譬如修改.JPG\.MP3\.MP4\.AVI默认打开方式,
用绿色软件“d:\tools\picture\FastStoneImageViewer.exe”打开扩展名为JPG\BMP等文件
用绿色软件“d:\tools\music\千千静听.exe”打开扩展名为.mid\.mp3等文件
用绿色软件“d:\tools\video\KMPlayer.exe”打开扩展名为.MP4\.avi等文件
求大佬给个模版,琢磨了好久都不能成功!非常感谢!!! @echo off
set "MusicDir=%~dp0D:\Program_Files_\MP3_Player\千千静听"
set "MusicDirReg=%MusicDir:\=\\%"
if "%1"=="" (
call :Main
) else (
call :%1
if not "%2"=="SkipRefresh" (
assoc .=.
)
) >nul 2>nul
exit /b
::以管理员身份运行
:Main
title 关联文件
fltmc >nul || mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~dpnx0","%*",,"runas",1)(window.close) && exit /b
fltmc >nul || mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~dpnx0","%*",,"runas",1)(window.close) && exit /b
call "%~dpnx0" Install
::执行创建注册表关联项
:Install
(
echo Windows Registry Editor Version 5.00
call :RegAssocAATTPlayer1
call :RegAssocAACTTPlayer1
call :RegAssocA52TTPlayer1
call :RegAssocAC3TTPlayer1
call :RegAssocAIFTTPlayer1
call :RegAssocAIFCTTPlayer1
call :RegAssocAIFFTTPlayer1
call :RegAssocAUTTPlayer1
call :RegAssocSNDTTPlayer1
call :RegAssocCDATTPlayer1
call :RegAssocCUETTPlayer1
call :RegAssocDTSTTPlayer1
call :RegAssocDTSWAVTTPlayer1
call :RegAssocFLATTPlayer1
call :RegAssocFLACTTPlayer1
call :RegAssocMIDITTPlayer1
call :RegAssocMIDTTPlayer1
call :RegAssocRMITTPlayer1
call :RegAssocMODTTPlayer1
call :RegAssocFARTTPlayer1
call :RegAssocITTTPlayer1
call :RegAssocMTMTTPlayer1
call :RegAssocS3MTTPlayer1
call :RegAssocUMXTTPlayer1
call :RegAssocXMTTPlayer1
call :RegAssocAPETTPlayer1
call :RegAssocMACTTPlayer1
call :RegAssocMP1TTPlayer1
call :RegAssocMP2TTPlayer1
call :RegAssocMP3TTPlayer1
call :RegAssocMP3PROTTPlayer1
call :RegAssocMPATTPlayer1
call :RegAssocM4ATTPlayer1
call :RegAssocMP+TTPlayer1
call :RegAssocMPCTTPlayer1
call :RegAssocOPUSTTPlayer1
call :RegAssocRATTPlayer1
call :RegAssocTAKTTPlayer1
call :RegAssocTTATTPlayer1
call :RegAssocOGGTTPlayer1
call :RegAssocWAVTTPlayer1
call :RegAssocWMATTPlayer1
call :RegAssocM3UTTPlayer1
call :RegAssocM3U8TTPlayer1
call :RegAssocTTBLTTPlayer1
call :RegAssocTTPLTTPlayer1
) >"%Temp%\Install_YinYue.reg"
reg import "%Temp%\Install_YinYue.reg"
del /f "%Temp%\Install_YinYue.reg"
goto :eof
::关联相关文件类型
:RegAssoc :: <%1=Ext> <%2=ExeName> <%3=IconIndex>
echo
echo @="%MusicDirReg%\\%2.exe,%3"
echo
echo @="\"%MusicDirReg%\\%2.exe\" \"%%1\""
echo
echo @="TTPlayer.%1"
goto :eof
::timeout /t 6 >nul
pause
上述批处理运行无效 @echo off
fltmc >nul || mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~dpnx0","%*",,"runas",1)(window.close) && exit /b
for %%a in (midi mid) do (
reg add "HKCR\TTPlayer.%%a\Shell\Open\Command" /f /ve /t REG_SZ /d "\"%~sdp0TTPlayer.exe\" \"%%1\""
reg add "HKCR\.%%a" /f /ve /t REG_SZ /d "TTPlayer.%%a"
) >nul 2>nul
pause
上述批处理运行无效 @echo Off
::【关联:用“千千静听.exe”打开扩展名为 “.mid”的文件】
REG add HKCR\.mid /ve /t REG_SZ /d "midfile" /f
assoc .mid=midfile
::ftype midfile="D:\Program_Files_\MP3_Player\Winamp\winamp.exe" "%%1"
ftype midfile="D:\Program_Files_\MP3_Player\千千静听\TTPlayer.exe" "%%1"
::exit
::D:\Program_Files_\MP3_Player\Winamp\winamp.exe
::D:\Program_Files_\MP3_Player\千千静听\TTPlayer.exe
pause
用上述操作不成功,Windows11系统 我都无语了 有懂的大佬给指点一下,我实在是无能为力啊,求大佬帮助一下
页:
[1]