无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 2620|回复: 52
打印 上一主题 下一主题

[求助] 如何操作注册表修改默认打开文件方式

  [复制链接]
跳转到指定楼层
1#
发表于 2024-4-7 09:58:22 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 2012飘水 于 2024-4-7 10:09 编辑

求助如何通过批处理命令操作注册表修改默认打开方式?
重装系统后,图片、视频、音乐文件等想通过第三方软件打开,第三方软件不安装,直接绿色版,将绿色版的第三方软件作为默认打开图片、视频、音乐文件等,如何通过批处理修改注册表的方式实现?
譬如修改.JPG\.MP3\.MP4\.AVI默认打开方式,
用绿色软件“d:\tools\picture\FastStoneImageViewer.exe”打开扩展名为JPG\BMP等文件
用绿色软件“d:\tools\music\千千静听.exe”打开扩展名为.mid\.mp3等文件
用绿色软件“d:\tools\video\KMPlayer.exe”打开扩展名为.MP4\.avi等文件

求大佬给个模版,琢磨了好久都不能成功!非常感谢!!!

点评

参考:3# 的试一试  发表于 2024-4-7 10:31
48#
发表于 2024-5-6 08:19:27 | 只看该作者
谢谢分享
回复

使用道具 举报

47#
发表于 2024-5-3 07:17:26 | 只看该作者
谢谢分享
回复

使用道具 举报

46#
发表于 2024-4-13 10:07:22 | 只看该作者
谢谢,学习了
回复

使用道具 举报

45#
发表于 2024-4-12 14:25:51 | 只看该作者
常感谢!!!
回复

使用道具 举报

44#
发表于 2024-4-10 08:28:50 | 只看该作者
谢谢,感恩分享
回复

使用道具 举报

43#
发表于 2024-4-9 08:53:18 | 只看该作者
谢谢分享
回复

使用道具 举报

42#
 楼主| 发表于 2024-4-8 23:33:36 | 只看该作者
3416510931 发表于 2024-4-8 21:00
@echo off
    fltmc >nul || mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~dpnx ...

感谢,已经弄好了,非常感谢,再次感谢
回复

使用道具 举报

41#
发表于 2024-4-8 21:00:34 | 只看该作者
2012飘水 发表于 2024-4-8 11:52
重装系统后,用这个方法成功了,就是图标还没有更新,麻烦大佬再弄个更新图标的好吗?非常感谢!我是小白 ...

@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\DefaultIcon" /f /ve /t REG_SZ /d "%~sdp0icon\%%a.ico"
        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
在TTPlayer文件夹里新建文件夹命名为icon,在这个文件夹里放入.ico图标文件,对应哪个格式就命名为什么,比如midi.ico

点评

感谢,已经弄好了,非常感谢,再次感谢  详情 回复 发表于 2024-4-8 23:33
回复

使用道具 举报

40#
发表于 2024-4-8 20:25:45 | 只看该作者
也来学习下。特别是win图片查看器看图片。
回复

使用道具 举报

39#
 楼主| 发表于 2024-4-8 16:29:40 | 只看该作者
reuk 发表于 2024-4-7 23:22
试过很多批处理不行,最后用filetypesman改

reuk大佬,能给个Windows11系统下 “FileTypesMan”修改文件关联的批处理例子吗,非常感谢
回复

使用道具 举报

38#
 楼主| 发表于 2024-4-8 11:52:39 | 只看该作者
3416510931 发表于 2024-4-7 18:53
@echo off
    fltmc >nul || mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~dpnx ...

重装系统后,用这个方法成功了,就是图标还没有更新,麻烦大佬再弄个更新图标的好吗?非常感谢!我是小白,慢慢学习

点评

@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\  详情 回复 发表于 2024-4-8 21:00
回复

使用道具 举报

37#
 楼主| 发表于 2024-4-8 11:35:29 | 只看该作者
reuk 发表于 2024-4-7 23:22
试过很多批处理不行,最后用filetypesman改

能给个具体的例子学习一下吗
回复

使用道具 举报

36#
发表于 2024-4-8 07:49:29 | 只看该作者
nttwqz 发表于 2024-4-7 23:59
可能是从8开始,更改注册表修改文件关联以及assoc就不再好用了,对于系统中没有的格式估计有效,图片、文本 ...

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=412833
一搜就搜到了
回复

使用道具 举报

35#
发表于 2024-4-7 23:59:55 来自手机 | 只看该作者
可能是从8开始,更改注册表修改文件关联以及assoc就不再好用了,对于系统中没有的格式估计有效,图片、文本无效。

目前可行的方法是设置好后用dism导出关联,离线或安装过程中导入,以测试有效。

还有种办法是使用一个第三方的命令工具,有高手逆向了更改文件关联注册表需要的一个hash值算法,本坛就有,抱歉那名字总往,你找找设置默认浏览器相关帖子,楼下知道的给他说下。

点评

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=412833 一搜就搜到了  详情 回复 发表于 2024-4-8 07:49
回复

使用道具 举报

34#
发表于 2024-4-7 23:22:06 | 只看该作者
试过很多批处理不行,最后用filetypesman改

点评

reuk大佬,能给个Windows11系统下 “FileTypesMan”修改文件关联的批处理例子吗,非常感谢  详情 回复 发表于 2024-4-8 16:29
能给个具体的例子学习一下吗  详情 回复 发表于 2024-4-8 11:35
回复

使用道具 举报

33#
发表于 2024-4-7 22:48:13 | 只看该作者
学习学习
回复

使用道具 举报

32#
 楼主| 发表于 2024-4-7 22:20:56 | 只看该作者
3416510931 发表于 2024-4-7 22:16
%~dp0在批处理里代表批处理文件所在路径,是相对路径,D:\Program Files这种属于绝对路径,两者不能一起 ...

看样子用注册表操作的方式是行不通了啊
回复

使用道具 举报

31#
发表于 2024-4-7 22:16:25 | 只看该作者
2012飘水 发表于 2024-4-7 21:43
@echo off
    fltmc >nul || mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~dpnx ...

%~dp0在批处理里代表批处理文件所在路径,是相对路径,D:\Program Files这种属于绝对路径,两者不能一起用。
前面说了,win11文件关联方式变了,已经被软件关联过的文件格式想添加第二种只能在设置里改,修改注册表的方式只能在.mid的打开方式里添加上千千静听,无法直接改成千千静听,除非卸载掉之前关联.mid文件的软件

点评

看样子用注册表操作的方式是行不通了啊  详情 回复 发表于 2024-4-7 22:20
回复

使用道具 举报

30#
 楼主| 发表于 2024-4-7 21:43:19 | 只看该作者
3416510931 发表于 2024-4-7 18:53
@echo off
    fltmc >nul || mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~dpnx ...

@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

我和ttplayer.exe放在一起,执行后,重启,还是原来的打开方式,没有修改,不知道啥原因,Windows11
Windows 11 专业版23H2,版本22631.3296,16G内存64位系统

点评

%~dp0在批处理里代表批处理文件所在路径,是相对路径,D:\Program Files这种属于绝对路径,两者不能一起用。 前面说了,win11文件关联方式变了,已经被软件关联过的文件格式想添加第二种只能在设置里改,修改注册表  详情 回复 发表于 2024-4-7 22:16
回复

使用道具 举报

29#
 楼主| 发表于 2024-4-7 20:01:17 | 只看该作者
ddzyhhh 发表于 2024-4-7 19:33
https://lanzoui.com/b00zo76pi

可执行文件路径在:D:\Program_Files_\MP3_Player\千千静听\TTPlayer.exe
批处理文件在:D:\Program_Files_\MP3_Player\
运行结果如下:
Microsoft Windows [版本 10.0.22631.3296]
(c) Microsoft Corporation。保留所有权利。

C:\Users\Administrator>d:

D:\>cd D:\Program_Files_\MP3_Player

D:\Program_Files_\MP3_Player>3
操作成功完成。

D:\Program_Files_\MP3_Player>





以下为批处理文件,文件名为3.bat
@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 :RegAssoc  AA  TTPlayer  1
        call :RegAssoc  AAC  TTPlayer  1
        call :RegAssoc  A52  TTPlayer  1
        call :RegAssoc  AC3  TTPlayer  1
        call :RegAssoc  AIF  TTPlayer  1
        call :RegAssoc  AIFC  TTPlayer  1
        call :RegAssoc  AIFF  TTPlayer  1
        call :RegAssoc  AU  TTPlayer  1
        call :RegAssoc  SND  TTPlayer  1
        call :RegAssoc  CDA  TTPlayer  1
        call :RegAssoc  CUE  TTPlayer  1
        call :RegAssoc  DTS  TTPlayer  1
        call :RegAssoc  DTSWAV  TTPlayer  1
        call :RegAssoc  FLA  TTPlayer  1
        call :RegAssoc  FLAC  TTPlayer  1
        call :RegAssoc  MIDI  TTPlayer  1
        call :RegAssoc  MID  TTPlayer  1
        call :RegAssoc  RMI  TTPlayer  1
        call :RegAssoc  MOD  TTPlayer  1
        call :RegAssoc  FAR  TTPlayer  1
        call :RegAssoc  IT  TTPlayer  1
        call :RegAssoc  MTM  TTPlayer  1
        call :RegAssoc  S3M  TTPlayer  1
        call :RegAssoc  UMX  TTPlayer  1
        call :RegAssoc  XM  TTPlayer  1
        call :RegAssoc  APE  TTPlayer  1
        call :RegAssoc  MAC  TTPlayer  1
        call :RegAssoc  MP1  TTPlayer  1
        call :RegAssoc  MP2  TTPlayer  1
        call :RegAssoc  MP3  TTPlayer  1
        call :RegAssoc  MP3PRO  TTPlayer  1
        call :RegAssoc  MPA  TTPlayer  1
        call :RegAssoc  M4A  TTPlayer  1
        call :RegAssoc  MP+  TTPlayer  1
        call :RegAssoc  MPC  TTPlayer  1
        call :RegAssoc  OPUS  TTPlayer  1
        call :RegAssoc  RA  TTPlayer  1
        call :RegAssoc  TAK  TTPlayer  1
        call :RegAssoc  TTA  TTPlayer  1
        call :RegAssoc  OGG  TTPlayer  1
        call :RegAssoc  WAV  TTPlayer  1
        call :RegAssoc  WMA  TTPlayer  1
        call :RegAssoc  M3U  TTPlayer  1
        call :RegAssoc  M3U8  TTPlayer  1
        call :RegAssoc  TTBL  TTPlayer  1
        call :RegAssoc  TTPL  TTPlayer  1
    ) >"%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 [HKEY_CLASSES_ROOT\TTPlayer.%1\DefaultIcon]
    echo @="%MusicDirReg%\\%2.exe,%3"
    echo [HKEY_CLASSES_ROOT\WPS.%1\Shell\Open\Command]
    echo @="\"%MusicDirReg%\\%2.exe\" \"%%1\""
    echo [HKEY_CLASSES_ROOT\.%1]
    echo @="TTPlayer.%1"
goto :eof

::timeout /t 6 >nul
pause
回复

使用道具 举报

28#
 楼主| 发表于 2024-4-7 19:55:08 | 只看该作者
本帖最后由 2012飘水 于 2024-4-7 20:02 编辑
3416510931 发表于 2024-4-7 18:54
你得让我们知道你画的虎是啥样啊,
可执行文件路径在:D:\Program_Files_\MP3_Player\千千静听\TTPlayer.exe
批处理文件在:D:\Program_Files_\MP3_Player\
运行结果如下:
Microsoft Windows [版本 10.0.22631.3296]
(c) Microsoft Corporation。保留所有权利。

C:\Users\Administrator>d:

D:\>cd D:\Program_Files_\MP3_Player

D:\Program_Files_\MP3_Player>3
操作成功完成。

D:\Program_Files_\MP3_Player>





以下为批处理文件,文件名为3.bat
@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 :RegAssoc  AA  TTPlayer  1
        call :RegAssoc  AAC  TTPlayer  1
        call :RegAssoc  A52  TTPlayer  1
        call :RegAssoc  AC3  TTPlayer  1
        call :RegAssoc  AIF  TTPlayer  1
        call :RegAssoc  AIFC  TTPlayer  1
        call :RegAssoc  AIFF  TTPlayer  1
        call :RegAssoc  AU  TTPlayer  1
        call :RegAssoc  SND  TTPlayer  1
        call :RegAssoc  CDA  TTPlayer  1
        call :RegAssoc  CUE  TTPlayer  1
        call :RegAssoc  DTS  TTPlayer  1
        call :RegAssoc  DTSWAV  TTPlayer  1
        call :RegAssoc  FLA  TTPlayer  1
        call :RegAssoc  FLAC  TTPlayer  1
        call :RegAssoc  MIDI  TTPlayer  1
        call :RegAssoc  MID  TTPlayer  1
        call :RegAssoc  RMI  TTPlayer  1
        call :RegAssoc  MOD  TTPlayer  1
        call :RegAssoc  FAR  TTPlayer  1
        call :RegAssoc  IT  TTPlayer  1
        call :RegAssoc  MTM  TTPlayer  1
        call :RegAssoc  S3M  TTPlayer  1
        call :RegAssoc  UMX  TTPlayer  1
        call :RegAssoc  XM  TTPlayer  1
        call :RegAssoc  APE  TTPlayer  1
        call :RegAssoc  MAC  TTPlayer  1
        call :RegAssoc  MP1  TTPlayer  1
        call :RegAssoc  MP2  TTPlayer  1
        call :RegAssoc  MP3  TTPlayer  1
        call :RegAssoc  MP3PRO  TTPlayer  1
        call :RegAssoc  MPA  TTPlayer  1
        call :RegAssoc  M4A  TTPlayer  1
        call :RegAssoc  MP+  TTPlayer  1
        call :RegAssoc  MPC  TTPlayer  1
        call :RegAssoc  OPUS  TTPlayer  1
        call :RegAssoc  RA  TTPlayer  1
        call :RegAssoc  TAK  TTPlayer  1
        call :RegAssoc  TTA  TTPlayer  1
        call :RegAssoc  OGG  TTPlayer  1
        call :RegAssoc  WAV  TTPlayer  1
        call :RegAssoc  WMA  TTPlayer  1
        call :RegAssoc  M3U  TTPlayer  1
        call :RegAssoc  M3U8  TTPlayer  1
        call :RegAssoc  TTBL  TTPlayer  1
        call :RegAssoc  TTPL  TTPlayer  1
    ) >"%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 [HKEY_CLASSES_ROOT\TTPlayer.%1\DefaultIcon]
    echo @="%MusicDirReg%\\%2.exe,%3"
    echo [HKEY_CLASSES_ROOT\WPS.%1\Shell\Open\Command]
    echo @="\"%MusicDirReg%\\%2.exe\" \"%%1\""
    echo [HKEY_CLASSES_ROOT\.%1]
    echo @="TTPlayer.%1"
goto :eof

::timeout /t 6 >nul
pause
回复

使用道具 举报

27#
发表于 2024-4-7 19:33:48 | 只看该作者
3416510931 发表于 2024-4-7 11:08
WPS 2016 极限精简版https链接://kkocdko.site/post/201910051129
从这里这个改的,要放到可执行文件上一 ...

https://lanzoui.com/b00zo76pi

点评

可执行文件路径在:D:\Program_Files_\MP3_Player\千千静听\TTPlayer.exe 批处理文件在:D:\Program_Files_\MP3_Player\ 运行结果如下: Microsoft Windows [版本 10.0.22631.3296] (c) Microsoft Corporation。  详情 回复 发表于 2024-4-7 20:01
回复

使用道具 举报

26#
发表于 2024-4-7 19:00:59 | 只看该作者
本帖最后由 3416510931 于 2024-4-7 19:04 编辑
2012飘水 发表于 2024-4-7 16:17
原来是用winamp.exe打开的,设置为用TTPlayer.exe打开,运行了ftype midfile="D:\Program_Files_\MP3_Pla ...

win11系统改了注册表关联文件打开方式的规则,设置里是优先度最高的,甚至要一种格式一种格式的选
回复

使用道具 举报

25#
发表于 2024-4-7 18:54:26 | 只看该作者
2012飘水 发表于 2024-4-7 17:12
看不懂,照猫画虎导致不运行,主要是参考3楼的方便易懂,但是也不成功

你得让我们知道你画的虎是啥样啊,

点评

@echo off set "MusicDir=%~dp0D:\Program_Files_\MP3_Player\千千静听\TTPlayer.exe" set "MusicDirReg=%MusicDir:\=\\%" if "%1"=="" ( call :Main ) else ( call :%1 if not "%2"=="SkipRefre  详情 回复 发表于 2024-4-7 19:55
回复

使用道具 举报

24#
发表于 2024-4-7 18:53:03 | 只看该作者
本帖最后由 3416510931 于 2024-4-7 19:08 编辑
2012飘水 发表于 2024-4-7 17:12
看不懂,照猫画虎导致不运行,主要是参考3楼的方便易懂,但是也不成功

@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


复制以上内容到记事本里,保存为.bat,然后把bat文件放到TTPlayer.exe所在的文件夹

win11没试过,但win10可用

点评

重装系统后,用这个方法成功了,就是图标还没有更新,麻烦大佬再弄个更新图标的好吗?非常感谢!我是小白,慢慢学习  详情 回复 发表于 2024-4-8 11:52
@echo off fltmc >nul || mshta vbscript:CreateObject("Shell.Application").ShellExecute("%~dpnx0","%*",,"runas",1)(window.close) && exit /b for %%a in (midi mid) do (   发表于 2024-4-7 21:45
@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\TTPl  详情 回复 发表于 2024-4-7 21:43
回复

使用道具 举报

23#
发表于 2024-4-7 18:38:27 | 只看该作者
注册表不是万能的, 有些项目必须实地操作.
回复

使用道具 举报

22#
 楼主| 发表于 2024-4-7 17:12:02 | 只看该作者
3416510931 发表于 2024-4-7 10:44
@echo off

set "MPC-Be=%~dp0MPC-BE"

看不懂,照猫画虎导致不运行,主要是参考3楼的方便易懂,但是也不成功

点评

你得让我们知道你画的虎是啥样啊,  详情 回复 发表于 2024-4-7 18:54
@echo off set "可执行文件的文件名=%~dp0软件所有文件所在的文件夹名)" set "MPC-BeReg=%MPC-BE:\=\\%" if "%1"=="" ( call :Main ) >nul 2>nul exit /b ::以管理员身份运行 :Main title MPC-BE  详情 回复 发表于 2024-4-7 18:53
回复

使用道具 举报

21#
发表于 2024-4-7 16:21:46 | 只看该作者
下载
回复

使用道具 举报

20#
 楼主| 发表于 2024-4-7 16:20:32 | 只看该作者
szwp 发表于 2024-4-7 16:19
ftype midfile后面不要加东西,看运行结果

C:\Users\Administrator>ftype midfile
midfile="D:\Program_Files_\MP3_Player\千千静听\TTPlayer.exe" "%%1"
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-6-16 19:02

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表