Não é possível executar arquivos em lote clicando duas vezes, mas eles são executados corretamente quando digitados na janela cmd ou WinKEY + R

3

Ok, isso é estranho. Não sei por que isso está acontecendo ou como consertar isso. O título praticamente diz tudo, mas vou elaborar mais:

Abrindo cmd.exe para executar comandos ou chamar arquivos em lote: OK
Abrindo o WinKEY + R para executar arquivos em lote: OK
Abrindo arquivos em lote clicando duas vezes: ... não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes.

Este erro não está limitado a comandos específicos que estão sendo chamados por arquivos em lote. Até os comandos mais simples parecem falhar.

Meu primeiro palpite foi que algo está errado com associações de arquivos ou variáveis de ambiente. Verificou aqueles, mas eles parecem bem:

ComSpec é %SystemRoot%\system32\cmd.exe em PATHEXT é .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC em PATH is C:\Windows\System32\;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;

O registro parece ok também:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.cmd
A subchave

OpenWithList está vazia. OpenWithProgids contém:

(Default) REG_SZ (value not set)  

cmdfile REG_NONE (zero-leght binary value)

É uma instalação relativamente nova no Windows. Windows 7 x64. Alguma idéia de onde procurar agora?

    
por TMRW 02.05.2017 / 17:01

2 respostas

2

Ok, eu acho que descobri. Aparentemente, antes de postar, estava faltando C:\Windows\System32\ da variável PATH . Adicioná-lo e fazer a postagem não alterou nada até que eu fiz a correção mais antiga do livro: uma reinicialização. Isso consertou. Também por algum motivo (não tenho certeza se isso é padrão), a variável USERNAME foi SYSTEM não meu nome de usuário. Colocar %username% em cmd retornou meu nome de usuário corretamente. Pouco estranho, mas tudo parece estar funcionando agora.

    
por 02.05.2017 / 17:36
1

Isso soa como um problema de codificação. A menos que você saiba que precisa de UTF-8 ou Unicode, tente salvar uma cópia do arquivo de lote codificado em ANSI.

  1. Abrir arquivo em lote no Bloco de Notas
  2. Arquivo (menu), Salvar como
  3. Digite um nome de arquivo diferente (para não sobrescrever)
  4. Selecione ANSI na lista suspensa Codificação
  5. Clique em Salvar

Nota: Se o seu arquivo de lote requer caracteres UTF-8 ou Unicode, o processo é mais complicado.

    
por 02.05.2017 / 17:25