Questão Como definir o programa padrão para abrir arquivos sem uma extensão no Windows?


Como definir o programa padrão para abrir arquivos sem uma extensão no Windows?


102


origem


Resposta aceita funcionou, mas ao mesmo tempo fez outro recurso parar de funcionar; Escolha o programa padrão não funciona (está quebrado) no Windows - Piotr Dobrogost
Qual recurso parou de funcionar? - Danijel


Respostas:


Com a linha de comando:

assoc .="No Extension"
ftype "No Extension"="C:\path\to\my editor.exe" "%1"

Para dar crédito, eu aprendi isso com o vim wikia Aqui e Aqui

Informação extra:

Ao invés de "C:\path\to\...", as seguintes macros podem ser úteis:

  • %SystemDrive% - as janelas da unidade estão instaladas, por exemplo C:\
  • %ProgramFiles% - por exemplo. "C:\Program Files\"
  • %ProgramFiles(x86)% - por exemplo. "C:\Program Files (x86)\"

Você precisará escapar deles corretamente:

ftype "No Extension"=^"^%ProgramFiles(x86)^%\Notepad++\notepad++.exe^" "%1"

Para definir o ícone para ser o mesmo que os arquivos .txt (eu não fiz isso, uma vez que ele automaticamente fez os ícones dos arquivos serem exibidos como arquivos do Notepad ++):

assoc "No Extension"\DefaultIcon=%SystemRoot%\System32\imageres.dll,-102

Para desfazer, você pode ler o assoc /? ou ftype /? informações, por exemplo:

ftype "No Extension"=
assoc "No Extension"\DefaultIcon=
assoc .=

128



Observe que, se o seu editor estiver em uma pasta que contenha um espaço (como "C: \ Arquivos de Programas"), será necessário colocá-lo entre aspas. ftype no_ext="C:\Program Files (x86)\Notepad++\notepad++.exe" "%1" - GuiSim
FWIW, no Win7 você precisa rodar cmd como administrador - Cristi Diaconescu
OK, mais um: no exemplo acima, no_ext é o que o Windows Explorer exibirá na coluna 'Tipo' para esses arquivos. Eu acho que uma descrição mais legível seria melhor, então eu usei "No extension" , incluindo as aspas duplas, em vez de no_ext nos comandos acima. - Cristi Diaconescu
Aqui está como eu configurei o ícone para arquivos .txt para arquivos sem extensão (obrigado @grawity pelo ponteiro e pela ideia): assoc "No extension"\DefaultIcon=%SystemRoot%\system32\imageres.dll,-102 - Cristi Diaconescu
Isso não está funcionando para mim no Windows 10. Algumas notas: 1) Não encontraria assoc no PowerShell, então cmd É necessário. 2) Ele estava jogando um erro quando não está funcionando como admin, então eu corri como admin. O comando é executado sem gerar um erro, mas parece que não fez nada. Eu reiniciei depois também. - JamesFaix


Do Windows IT pro:

Arquivos normais com uma extensão podem ter um programa associado, mas este não é o caso de arquivos que não possuem uma extensão. Se você clicar duas vezes em um e selecionar um aplicativo e marcar a caixa para sempre usar esse aplicativo, ele será ignorado e toda vez que você selecionar um arquivo, terá que escolher o aplicativo.

Você pode forçar isso usando o registro:

  • Inicie o editor de registro (regedit.exe)
  • Mover para HKEY_CLASSES_ROOT
  • No menu Editar, selecione Novo - chave
  • Digite um nome de '.' e pressione Enter (não digite as aspas)
  • Selecione o novo '. chave
  • Clique duas vezes no valor (padrão)
  • Altere para a HKEY_CLASSES_ROOT usada para abrir, por ex. NOTEPAD para o aplicativo notepad.exe NOTEPAD
  • Clique OK

alt text

Se você clicar duas vezes em um arquivo sem extensão, ele será aberto com o aplicativo selecionado.

Para verificar o que um aplicativo existente usou, consulte sua entrada em HKEY_CLASSES_ROOT, por exemplo, HKEY_CLASSES_ROOT.doc usa Word.Document.8 portanto, se você quisesse isso como seu editor padrão, você alteraria HKEY_CLASSES_ROOT. (Padrão) para Word.Document.8.

Qualquer método que evita a necessidade de editar o registro é o seguinte:

  • Abra o Explorer - Exibir - Opções de Pasta ... - Tipos de Arquivo - Novo Tipo:
  • Descrição do tipo: Texto (qualquer descrição, você pode digitar)
  • Extensão associada:. (apenas um período)
  • Ações: - novo ...
  • Ação: aberta
  • Aplicativo usado para executar a ação: c: \ winnt \ notepad.exe
  • Clique ok, então ok novamente

24



Há algo errado com informações acima. Eu tenho arquivos .xml definidos para abrir com o Notepad ++, mas a entrada (Padrão) para .xml é definida como xmlfile ... - Piotr Dobrogost
Eu realmente não entendo o que você quer dizer, mas tenho medo de não saber uma solução também ... - Ivo Flipse♦
@Piotr: Se a entrada padrão de HKCR\.xml é xmlfile, significa que o shell (Explorer) precisa ir para HKCR\xmlfile e ler informações de aquele chave. - grawity
@Ivo Quando eu olho para a entrada .txt no registro para verificar como ele se parece (eu tenho arquivos .txt abertos pelo Notepad ++) a entrada padrão tem o valor "txtfile". Não há nenhum vestígio do Notepad ++ em nenhum lugar nessa chave do Registro. o que estou perdendo? - Piotr Dobrogost
Você quer dizer que não usa o Notepad ++ agora? Desde que você deve ser capaz de defini-lo como NotePad se você souber a extensão ou criar você mesmo - Ivo Flipse♦


Este é um exemplo de arquivo .reg para obter o Bloco de Notas para abrir extensões de arquivos desconhecidos. Crie um novo arquivo de texto com uma extensão .reg, recorte e cole este arquivo, clique duas vezes para executar e ele irá colocá-lo no registro.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Unknown\shell]
@="notepad"

[HKEY_CLASSES_ROOT\Unknown\shell\notepad]
@="Open with Notepad"

[HKEY_CLASSES_ROOT\Unknown\shell\notepad\command]
@="C:\\WINDOWS\\NOTEPAD.EXE %1"

13



Há algo errado com a informação acima. Quando eu clico no arquivo .reg recém-criado, recebo o erro "O arquivo especificado não é um script de registro". - Piotr Dobrogost
Desculpas Piotr, tente agora, eu adicionei uma outra linha para o topo da mesma. - Pauk
Isso funciona no Explorer, mas não funciona no Total Commander, que deve se comportar (e sempre tem) de forma idêntica ao Explorer a esse respeito. Alguma ideia? - Piotr Dobrogost
A idéia de que você deve definir associações de arquivos para CADA arquivo desconhecido no Windows é uma loucura. Bem feito senhor! - Steven Penny
verificado no win7, funciona. então não há necessidade de uma tecla ./. - jiggunjer


A maioria dessas soluções não funcionou para mim no Windows 8.1. Eu comecei a trabalhar fazendo o seguinte (isso deve funcionar para o Windows 7 e Windows 10 também):

  1. Siga a solução do hasnj: primeiro abra uma janela de comando elevada e digite

    assoc .="No Extension"
    ftype "No Extension"="C:\path\to\my editor.exe" "%1"
    
  2. Abra o regedit e navegue para

    HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.
    

    Clique com o botão direito e adicione uma nova chave chamada UserChoice se ainda não existe.

  3. Na nova chave UserChoice, clique com o botão direito e criar um novo valor de stringchamado Progid. Defina seu valor como "Sem extensão" (sem as aspas duplas).


5



Isso não está funcionando para mim no Windows 8.1, infelizmente. Eu tentei matar e reiniciar o explorer.exe depois - há algo mais que eu preciso fazer? Na entrada HCU você mencionou agora tenho OpenWithList, OpenWithProgids e o que eu adicionei, UserChoice. - Conan
Possível erro chave no artigo 3  No Extention deveria estar No Extension? - JosefZ


A resposta de Pauk não funcionou para mim, eu tive que usar em vez disso:

Windows Registry Editor versão 5.00

[HKEY_CLASSES_ROOT.]   @ = "Sem extensão"

[HKEY_CLASSES_ROOT \ Sem extensão]

[HKEY_CLASSES_ROOT \ No Extension \ Shell]

[HKEY_CLASSES_ROOT \ No Extension \ Shell \ Open]

[HKEY_CLASSES_ROOT \ No Extension \ Shell \ Open \ Comando]   @ = "C: \\ pathtoexe \\ yourexe.exe% 1"

Observe as barras duplas invertidas no caminho exe.


2



Este é o que funcionou para mim. Key era barras duplas invertidas. - ontherocks


As outras respostas estão um pouco desatualizadas. Aqui está um link para um que funciona para o Windows 7:

Extensões do shell para nomes de arquivo sem extensão de arquivo

Extensões do shell para nomes de arquivos sem extensão de arquivo podem ser   registrado sob o seguinte:

[HKEY_CLASSES_ROOT\.]
           For example, to associate a program (for example, Notepad.exe) to open all files with no extension, use the following registry keys:

[HKEY_CLASSES_ROOT\.]
@=""

[HKEY_CLASSES_ROOT\.\shell]

[HKEY_CLASSES_ROOT\.\shell\open]

[HKEY_CLASSES_ROOT\.\shell\open\command]
@="<path to notepad.exe> %1"
           Here is an alternative method:

[HKEY_CLASSES_ROOT\.]
@="NoExtFile"

[HKEY_CLASSES_ROOT\NoExtFile]

[HKEY_CLASSES_ROOT\NoExtFile\shell]

[HKEY_CLASSES_ROOT\NoExtFile\shell\open]

[HKEY_CLASSES_ROOT\NoExtFile\shell\open\command]
@="<path to notepad.exe> %1"

1



No futuro, inclua as partes mais relevantes aqui, no site, em vez de apenas fornecer um link. Obrigado. - slhck


Você também pode usar o NirSoft FileTypesManager:

FileTypesMan é uma alternativa para a guia 'Tipos de arquivo' em 'Opções de pasta' do Windows.

O FileTypesMan também permite que você edite facilmente as propriedades e sinalizadores de cada tipo de arquivo, bem como permite adicionar, editar e remover ações em um tipo de arquivo.


0






Eu tenho um problema ao abrir arquivos PDF no IE9, sim IE9 (necessário para o programa antigo). Os arquivos PDF são gerados por um Javascript e jogados de volta no navegador como application / pdf tipo de conteúdo, o que é bom, mas o nome do arquivo "Nenhum"que é ruim IE8 permite que você escolha Salvar, Cancelar e Abrir e entende o MimeType. por algum motivo, IE9 não. Então você tem que escolher todas as vezes para abri-lo com o leitor de PDF.

Minha solução: usando este post fiz uma associação de arquivos para o arquivo sem extensão. primeiro eu mapeei para Acrobat Reader, o que funciona bem, mas está limitando as possibilidades de abrir um arquivo sem extensão. Então eu escolhi Internet Explorer como meu visualizador padrão para arquivos sem extensão. Dessa forma, se o IE puder abri-lo ou conhecer um plug-in ou outra associação, ele funcionará.

Eu testei isso com os arquivos "none1" e "none2" no meu desktop. "none1" é um arquivo de texto que diz "olá mundo". "none2" é um arquivo pdf.


Aqui é meu .reg Arquivo:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.]
@="htmlfile"

[HKEY_CLASSES_ROOT\.\PersistentHandler]
@="{eec97550-47a9-11cf-b952-00aa0051fe20}"

- Veja captura de tela

http://postimg.org/image/xtklrzcoz/


0