Como faço para restaurar a associação de arquivos .bat ao sistema (executá-los quando clicamos duas vezes)?


68

Para que defino a propriedade 'Abre com ...' para que o sistema execute os arquivos .bat novamente (quando clicam duas vezes)?

De alguma forma, meu chefe convenceu sua estação de trabalho de que o manipulador de .batarquivos deveria ser o Word. Agora, ao clicar duas vezes nos .batarquivos, eles são abertos no Word.


11
Não consigo nem encontrar .BAT na caixa de diálogo de associações de tipo de arquivo no Windows. E não consigo chamar a caixa de diálogo Abrir com ... em um arquivo .bat. Como ele poderia ter mudado isso?

3
umm ... acho que é por isso que ele é o chefe? ;)

3
clique com o botão direito do mouse no arquivo .bat -> Abrir com ... -> selecione MS Word, marque "Sempre abrir com este programa", clique em OK. bam, sua extensão agora está registrada no Word.
quack quixote

Meus arquivos bat também não têm o menu "Abrir com" (Windows 7). Outros arquivos também, é claro.
precisa saber é o seguinte

11
Para sua informação, os arquivos .bat não são executáveis. Eles são scripts interpretados.
Keltari

Respostas:


58

Eu acho que você precisará remover a associação de arquivo .bat do registro (usando o programa regedit).

De acordo com este tópico do fórum no LockerGnome , você precisa remover as configurações do registro abaixo desta chave:

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

Você provavelmente desejará fazer backup do registro antes de fazer isso, apenas para garantir a segurança.


28
Para vocês minimalistas, eu acrescentaria que obtive sucesso removendo apenas a subpasta UserChoice. Depois que ele desapareceu, o comportamento de execução padrão foi restaurado. HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .bat \ UserChoice
Mark F Guerra

Tirei a .batchave inteira e as coisas voltaram ao normal. Por alguma razão (suspeito de antivírus), não consegui renomear a UserChoicechave.
Kim Gräsman 01/07/2014

Que dor !! e isso aconteceu automaticamente em uma atualização. Muito obrigado MS.
Jus12

No caminho HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat, removi a UserChoicechave completamente, o que funcionou bem para mim. @ Kim - talvez você não tenha executado regedt32como administrador (clique com o botão direito do mouse e selecione Run as administrator)?
Matt

Existem muitas outras razões possíveis / locais de registro. Veja as outras respostas e minha resposta tentando um resumo.
KXR

32

Este arquivo de chave do registro fará isso. Copie e cole em um arquivo de texto chamado "restore.reg" e clique duas vezes nele para mesclar no registro.

Ele limpará qualquer configuração por usuário que você tenha criado acidentalmente para arquivos .bat e restaurará os padrões do sistema, incluindo o relacionamento do tipo de arquivo .bat<-> batfilee os parâmetros reais para iniciar a batfile.

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat]
[-HKEY_CURRENT_USER\Software\Classes\.bat]
[-HKEY_CURRENT_USER\SOFTWARE\Classes\batfile]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]
@="batfile"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open\command]
@="\"%1\" %*"

também teve que correr para arquivos cmd na minha máquina
mohlsen

11
Eu usei este aqui, parece que está funcionando bem.
Håkon K. Olafsen

Depois de fazer isso, enquanto a fila dupla clicando morcego, eu estou recebendo erro como "a.bat não é uma aplicação Win32 válida"
rashok

Funciona perfeitamente, mas para afetar, eu tive que matar explorer.exee executar como uma nova tarefa novamente usando o Gerenciador de tarefas.
Dave Anderson

Este resolveu se, para mim, a resposta selecionada não estava. Ainda estava pedindo um aplicativo para abrir arquivos .bat.
precisa saber é o seguinte

10

Eu tive o mesmo problema (no Windows 7); arquivos em lote foram abertos no bloco de notas em vez de serem executados.

A correção do registro abaixo para arquivos .bat (como em qualquer outra máquina em que funciona) fará com que o lote seja executado corretamente:

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

.bat                --> default-> Value not set
.bat/OpenWithList   --> default-> Value not set
.bat/OpenWithProgIds--> default-> Value not set
                        batfile-> Zero length binary values 

Mantenha essas entradas, mas remova todas as outras abaixo .bat. Atualize e execute um arquivo em lote clicando duas vezes - ele será executado corretamente.


7

Nenhuma das respostas acima o corrigiu para a máquina com a qual eu estava trabalhando, mas o que foi corrigido foi iniciar um Admin Shell e executar

assoc .bat=batfile
assoc .cmd=batfile

11
Esta é a solução para o Windows 2008 Server, cmd, executado como administrador. Não é necessário reiniciar o Explorer.exe ou o Windows.
TonyG

Não funciona?????????????????
YumYumYum 17/01

2
Isso funcionou para mim no Windows 10
htxryan 18/03

não, não funcionou no Windows Server 2012
Toolkit

Com Run as Administrator, isso funcionou perfeitamente para mim no Windows 10 !! :-) Agora (instale) os arquivos .exe que chamam de arquivos .bat funcionam conforme o esperado. Esta solução é muito melhor do que ter que mexer com o registro! Como nota de rodapé, para ver qual é a associação atual, basta digitar assoc .batNo meu caso os dois .bate cmd foram associados como Notepad++_file. Agora que estão .batfile, clicar com o botão direito do mouse nos arquivos bat permite executar ou executar como administrador. Antes disso não era possível. Anteriormente, minha solução alternativa era abrir uma janela do cmd e digitar manualmente a filename.batpara executar o arquivo
SherylHohman


2

A resposta que Kaleb obteve 40 votos não funcionou para mim, mas acabei encontrando a resposta. Para que o arquivo bat seja executado novamente, você deve acessar:

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes.bat] e defina (Padrão) como "batfile". Se você tiver scripts em lote abrindo no Word ou no Notepad ++ em vez de executar com um clique duplo, é porque esses programas definiram (Padrão) os seus próprios mimos.

Se você deseja uma solução rápida, basta abrir um arquivo de texto e colar:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]
    @="batfile"

E salve-o com uma extensão .reg e clique duas vezes para mesclar.


1

No registro, sua entrada .bat precisa apontar para a entrada batfile :

[HKEY_CLASSES_ROOT\.bat]
@="batfile"
.....

Naturalmente, você também precisará se certificar de ter uma entrada de registro batfile :

[HKEY_CLASSES_ROOT\batfile]
@="MS-DOS Batch File"
.....

1

No Windows 8, use o Bloco de notas para criar ou modificar um arquivo em lote, mas o segredo é o seguinte:

Salve o arquivo em lotes usando aspas duplas. Literalmente, use "MYBACK.BAT" usando aspas duplas na caixa de salvamento para salvar o arquivo. Em vez de MYBACK.BAT


Verdadeiro (o mesmo para versões anteriores do Windows / Bloco de notas). Mas como isso responde à pergunta?
Arjan 29/07

0

O conteúdo do registro varia para diferentes versões do Windows.

Sugiro que você encontre outro computador com a mesma versão do sistema operacional e use o regedit para exportar o conteúdo de HKEY_CLASSES_ROOT\.bate HKEY_CLASSES_ROOT\batfile.

Em seguida, vá para a máquina do chefe, exclua as duas chaves acima e importe os dois arquivos.


0

Para evitar o incômodo (e para muitas pessoas, medo e intimidação) de editar o registro, você pode usar o utilitário de reparo gratuito, excelente e não invasivo, que realmente realiza qualquer bem (em comparação com muitos outros crapware), tweaking.com Reparo do Windows .

Especificamente: instale-o, pule para a guia "Reparos", clique em "Abrir reparos" e marque "04 Registrar arquivos do sistema" e clique no botão "Iniciar reparos".

A interface do usuário desse programa foi alterada ao longo do tempo; portanto, no futuro, qualquer pessoa que fizer isso poderá precisar explorar o programa para encontrar essa opção.

Eu arriscaria supor que existem muitos outros problemas no computador do seu chefe, para que ele queira executar todos os reparos do programa, o que pode levar horas, dependendo.

Nota: Eu não sou afiliado ao tweaking.com; Eu sou apenas um grande fã do programa. O uso qualificado dele salvou o sistema operacional do meu computador ou resolveu problemas persistentes várias vezes.


0

Novamente, nenhuma das respostas anteriores fez isso aqui.
Por exemplo, tive que alterar o valor padrão de [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell] de editpara open.

(Depois de alterar o tipo de arquivo, estenda as associações na caixa de diálogo de opções da pasta Explorer. Os arquivos BAT foram e não são oferecidos para alteração. Parece haver uma exceção especial. Mas eu lembro, depois de adicionar o tipo BAT na caixa de diálogo de opções da pasta Explorer , para que 'edit' seja o verbo padrão do shell.)

Vários lugares para inspecionar

Afinal, existem várias razões e diferentes versões do sistema operacional e (pelo menos) os valores (padrão) das seguintes pastas (e subpastas) do Registro precisam ser verificados - usando algum senso comum :-). E acho que essa lista pode refletir a ordem de precedência relevante para o sistema operacional:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat]  (if present: remove "UserChoice")
[HKEY_CURRENT_USER\Software\Classes\.bat]  (if present: @ = "batfile")
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile]  (if present)
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile\shell]  (if present: @ = "open")
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile\shell\open\command]  (if present: @ = "\"%1\" %*")
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]  @ = "batfile"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell]  @ = "open"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open\command]  @ = "\"%1\" %*"
[HKEY_CLASSES_ROOT\.bat]  @ = "batfile"
[HKEY_CLASSES_ROOT\batfile]
[HKEY_CLASSES_ROOT\batfile\shell]  @ = "open"
[HKEY_CLASSES_ROOT\batfile\shell\open\command]  @ = "\"%1\" %*"
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.