Board logo

标题: [注册表类] 批处理如何删除某种扩展名文件的默认关联? [打印本页]

作者: 5i365    时间: 2022-10-31 09:02     标题: 批处理如何删除某种扩展名文件的默认关联?

网上搜索了一下, 都是创建文件类型关联的批处理, 我想删除某文件类型的关联, 即图标变成白了那种, 双击后提示让选择用什么打开
估计可能要操作注册表, 求精通注册表批处理的大侠指引, 提前感谢
作者: holley    时间: 2022-10-31 09:21

回复 1# 5i365
cmd下 先用assoc看一看 里面有没有你说的扩展名的关联?
作者: 5i365    时间: 2022-10-31 09:26

回复 2# holley


   有的, 扩展名 .ps1
作者: lancer    时间: 2022-10-31 10:10

  1. @echo off
  2. title 清除文件默认打开方式
  3. set /p ext=请输入要清除的后缀(不加.):
  4. echo.希望清除的后缀默认值:.%ext%
  5. pause
  6. rem 使用命令清除
  7. assoc .%ext%=
  8. rem 清除相关注册表项
  9. echo.Windows Registry Editor Version 5.00>edit.reg
  10. echo.[-HKEY_CLASSES_ROOT\.%ext%]>>edit.reg
  11. echo.[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.%ext%]>>edit.reg
  12. start edit.reg
  13. echo.确认导入后按任意键继续……
  14. pause >nul
  15. del edit.reg
  16. rem 重启资源管理器
  17. taskkill /f /im explorer.exe
  18. start explorer.exe
复制代码

作者: 5i365    时间: 2022-10-31 10:28

回复 4# lancer

大侠牛X, 执行成功了, 能帮看一下, 如何添加关联吗? 下面批处理是在别处找的, 不能生效
程序的完整路径如下:
"C:\Program Files\SAPIEN Technologies, Inc\PowerShell Studio 2022\PowerShell Studio.exe"

  1. @Echo off
  2. set "CurDir=C:\Program Files\SAPIEN Technologies, Inc\PowerShell Studio 2022"
  3. Set Ext=ps1
  4. Set "ProductName=PowerShell Studio"
  5. Set Icon=0
  6. Assoc .%Ext%=%ProductName%File
  7. REG ADD HKCR\%ProductName%File\DefaultIcon /ve /t REG_SZ /d "%CurDir%\%ProductName%.EXE,%Icon%" /f>NUL
  8. REG ADD HKCR\%ProductName%File\shell\open\command /ve /t REG_SZ /d "\"%CurDir%\%ProductName%.EXE\" "\"%%1\" /f>NUL
复制代码

作者: lancer    时间: 2022-10-31 10:40

回复 5# 5i365


    添加关联哪用批处理解决啊,直接在打开方式里选择就行了。
作者: holley    时间: 2022-10-31 16:21

回复 6# lancer


    我在我这边的assoc列表里没看到任何带空格的关联名称,所以你的Assoc .%Ext%=%ProductName%File 肯定是有问题的。
按我自己的理解,assoc里有.ps1=Microsoft.PowerShellScript.1的话,你只需要修改下面这里即可:
  1. ftype Microsoft.PowerShellScript.1="%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe" "%1"
复制代码
实际调用程序换成你自己的。
作者: 5i365    时间: 2022-10-31 18:01

回复 7# holley

感谢大侠指导, 稍后我试试
作者: lancer    时间: 2022-10-31 22:15

在Windows系统中有这样2个概念
文件扩展名
例如.exe   .doc  .docx   .xlsx   .png等等,这些事文件扩展名。

在Windows中,文件扩展名都会关联相应的文件类型,通过assoc命令可以查看该扩展名关联的文件类型。

然后文件类型会关联默认的打开程序,用ftype命令可以查看文件类型关联的打开应用程序。

所以,如果你要设置扩展名默认的打开程序,可以先用assoc查看该扩展名关联的文件类型,然后用ftype命令设置该文件类型的默认打开程序。这样操作下来就可以关联扩展名的默认打开程序了。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2