如何绑定要使用命令行选项打开的文件类型?

o0'*_*0'. 2 windows-8.1

我需要.unitypackage使用命令打开类型的文件Unity.exe -openfile "%1",但是如果我“右键单击 - > 打开方式”,它只允许我选择程序,而不是命令行选项。

我该怎么做才能在 Windows 8.1 上解决这个问题?

Syn*_*ech 5

在 Windows 8 中有几个不同的选项可以设置文件关联。不幸的是,内置方法往往不支持任何花哨的自定义命令行参数。

  • 您可以右键单击文件并选择打开方式,然后选择默认程序以浏览该程序。您可能需要手动编辑注册表以添加-openfile开关。

  • 您可以使用设置默认程序应用程序设置文件关联;同样,您需要手动修改注册表以包含开关。

    如果你走 条路线,那么你可以这样做:

    1. 选择设置
    2. 类型 associate
    3. 选择更改与文件扩展名关联的文件类型
    4. 选择文件扩展名
    5. 点击[Change Program]按钮

    请注意,如果您之前未曾尝试打开文件(例如使用前一种方法),则您可能不会在列表中看到文件扩展名。

  • 使用像FileTypesMan这样的第三方程序来创建文件关联。使用 FileTypesMan,您可以这样做:

    1. 编辑 ?新文件扩展名(或Ctrl+ T
    2. 填写对话框以创建扩展.unitypackage新建文件扩展名对话框的屏幕截图
    3. 行动?新动作(或Ctrl+ N
    4. 填写对话框: “新建操作”对话框的屏幕截图
  • 手动创建关联的注册表项。我冒昧地为你准备了一个。只需将其复制到纯文本文件,确保以 , 扩展名保存它.reg,而不是.reg.txt(您可以通过All Files (*.*)在“另存为”对话框中的文件类型下拉列表中进行选择来完成此操作)。然后运行保存的注册表脚本并接受合并它。您可以使用硬编码路径(如果需要,您可以在文本编辑器中进行编辑)或通过取消注释指定行来使用变量(您需要在Regedit 中编辑那些,因为它们被编码为十六进制)。

    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
    
    Run Code Online (Sandbox Code Playgroud)

(注:我没有我现在的机器上安装了统一,所以我不能检查包括在二进制的图标,所以你可能需要改变,1的DefaultIcon注册表脚本设置和对话,以更合适的类似,3,10什么的,如果它根本不包含任何文档图标,则使用,0或完全删除该部分。)