Como ligar um tipo de arquivo a ser aberto com opções de linha de comando?

2

Eu preciso abrir arquivos do tipo .unitypackage usando o comando Unity.exe -openfile "%1" , mas se eu clicar com o botão direito do mouse - > abrir com "isso só me permite selecionar o programa, não as opções da linha de comando.

O que posso fazer para corrigir isso no Windows 8.1?

    
por o0'. 14.11.2013 / 14:36

2 respostas

5

Existem algumas opções diferentes para definir uma associação de arquivos no Windows 8. Infelizmente, os métodos internos tendem a não oferecer suporte a argumentos de linha de comando personalizados.

  • Você pode clique com o botão direito em um arquivo e selecione Abrir com , então Escolha o Programa Padrão para procurar o programa. Você provavelmente precisará editar manualmente o registro para adicionar a opção -openfile .

  • Você pode definir associações de arquivos com os Definir Programas Padrão app ; novamente, você precisará modificar manualmente o registro para incluir o switch.

    Se você for este route , você pode fazer da seguinte maneira:

    1. Selecione Configurações
    2. Digite associate
    3. Selecione Alterar o tipo de arquivo associado a uma extensão de arquivo
    4. Selecione a extensão do arquivo
    5. Clique no botão [Change Program]

    Note que você pode não ver a extensão do arquivo na lista se você não tentou abrir o arquivo anteriormente (por exemplo, com o método anterior).

  • Use um programa de terceiros como o FileTypesMan para criar uma associação de arquivos. Com FileTypesMan, você poderia fazer da seguinte forma:

    1. Editar → Nova extensão de arquivo (ou Ctrl + T )
    2. Preencha o diálogo para criar uma extensão .unitypackage :
    3. Ações→Novaação(ouCtrl+N)
    4. Preenchaodiálogo:
  • Crie manualmente as entradas do registro para a associação. Eu tomei a liberdade de chicotear um para você. Basta copiá-lo para um arquivo de texto simples, certifique-se de salvá-lo com uma extensão de .reg , não .reg.txt (você pode fazer isso selecionando All Files (*.*) na lista suspensa tipo de arquivo no Salvar como diálogo). Em seguida, execute o script de registro salvo e aceite a mesclagem. Você pode usar caminhos codificados (que você pode editar se necessário no editor de texto) ou usar variáveis removendo o comentário das linhas especificadas (você precisaria editar as em Regedit já que elas são codificadas como hexadecimais ).

    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
    

(Nota: Eu não tenho o Unity instalado na minha máquina atual, então não posso verificar os ícones incluídos no binário, então você pode precisar alterar o ,1 nas configurações DefaultIcon em o script de registro e os diálogos para algo mais apropriado como ,3 ou ,10 ou algo assim, se ele não incluir nenhum ícone de documento, use ,0 ou remova essa parte completamente.)

    
por 19.11.2013 / 16:59
2

No Windows 7, você registra o comando HKEY_CLASSES_ROOT \ txtfile \ shell \ print \ contém "% SystemRoot% \ system32 \ NOTEPAD.EXE / p% 1". Se você encontrar a chave para o seu tipo de arquivo, talvez alterá-lo para Unity.exe -openfile% 1 funcionará mesmo no Windows 8.1

    
por 19.11.2013 / 16:09