我需要.unitypackage
使用命令打开类型的文件Unity.exe -openfile "%1"
,但如果我“右键单击->打开方式”,它只允许我选择程序,而不是命令行选项。
我该怎么做才能修复 Windows 8.1 上的该问题?
答案1
在 Windows 8 中,有几种不同的选项可以设置文件关联。不幸的是,内置方法往往不支持任何花哨的自定义命令行参数。
你可以右键点击一个文件并选择打开用, 然后选择默认程序浏览该程序。您可能需要手动编辑注册表以添加开关
-openfile
。您可以使用设置默认程序应用程序;您将再次需要手动修改注册表以包含该开关。
- 选择设置
- 类型
associate
- 选择更改与文件扩展名关联的文件类型
- 选择文件扩展名
- 点击
[Change Program]
按钮
请注意,如果您之前没有尝试打开该文件(例如使用以前的方法),则可能无法在列表中看到文件扩展名。
使用第三方程序,如文件类型管理器创建文件关联。使用 FileTypesMan,您可以这样做:
- 编辑 → 新建文件扩展名(或Ctrl+ T)
- 填写对话框以创建扩展
.unitypackage
: - 行动 → 新行动(或Ctrl+ N)
- 填写对话框:
手动创建关联的注册表项。我冒昧地为您准备了一个。只需将其复制到纯文本文件,确保将其保存为扩展名
.reg
,而不是.reg.txt
(您可以通过All Files (*.*)
在文件类型下拉菜单中选择另存为对话框)。然后运行保存的注册表脚本并接受合并。您可以使用硬编码路径(如果需要,您可以在文本编辑器中编辑)或通过取消注释指定的行来使用变量(您需要在注册表编辑器因为它们被编码为十六进制)。REGEDIT4 [HKEY_CLASSES_ROOT\.unitypackage] @="UnityPackage" [HKEY_CLASSES_ROOT\UnityPackage] @="Unity Package" [HKEY_CLASSES_ROOT\UnityPackage\Shell\DefaultIcon] @="\"C:\\Program Files (x86)\\Unity\\Editor\\Unity.exe\",1" ; Uncomment the line below by removing the leading semi-colon to use an environment variable ("%ProgramFiles(x86)%\Unity\Editor\Unity.exe",1) instead of the hard-coded path above. ;@=hex(2):22,25,50,72,6f,67,72,61,6d,46,69,6c,65,73,28,78,38,36,29,25,5c,55,6e,69,74,79,5c,45,64,69,74,6f,72,5c,55,6e,69,74,79,2e,65,78,65,22,2c,31,00 [HKEY_CLASSES_ROOT\UnityPackage\Shell\Open] @="&Open" [HKEY_CLASSES_ROOT\UnityPackage\Shell\Open\Command] @="\"C:\\Program Files (x86)\\Unity\\Editor\\Unity.exe\" -openfile \"%1\"" ; Uncomment the line below by removing the leading semi-colon to use an environment variable ("%ProgramFiles(x86)%\Unity\Editor\Unity.exe") instead of the hard-coded path above. ;@=hex(2):22,25,50,72,6f,67,72,61,6d,46,69,6c,65,73,28,78,38,36,29,25,5c,55,6e,69,74,79,5c,45,64,69,74,6f,72,5c,55,6e,69,74,79,2e,65,78,65,22,20,2d,6f,70,65,6e,66,69,6c,65,20,22,25,31,22,00
(注意:我当前的机器上没有安装 Unity,因此无法检查二进制文件中包含的图标,因此您可能需要,1
更改默认图标注册表脚本和对话框中的设置更改为更合适的内容,例如,3
或,10
或其他内容,如果它根本不包含任何文档图标,则使用,0
或删除该部分。)
答案2
在 Windows 7 上,注册表项 HKEY_CLASSES_ROOT\txtfile\shell\print\command 包含“%SystemRoot%\system32\NOTEPAD.EXE /p %1”。如果您找到文件类型的密钥,也许将其更改为 Unity.exe -openfile %1 即使在 Windows 8.1 上也可以工作