O servidor 2008 não executará executáveis a partir do prompt do CMD sem a extensão .exe

1

Em uma de nossas caixas do servidor de produção 2008, não consigo executar executáveis a partir de um prompt do CMD sem fornecer o nome completo do arquivo, incluindo a extensão '.exe'. Por exemplo, ao executar "java" produziu a mensagem usual "não é reconhecido como um comando interno ou externo", presumi que eu tinha borked as variáveis path e / ou java_home. No entanto, até mesmo navegar para o diretório% java_home% \ bin e digitar "java" produziu o mesmo erro. Se eu digitar "java.exe", tudo funcionará perfeitamente.

O problema não afeta apenas o java.exe. Até os executáveis da Microsoft sofrem o mesmo problema - o ping falha, o ping.exe funciona; ipconfig falha, ipconfig.exe funciona; arquivo de lote criado manualmente 'teste' só funciona quando invocado explicitamente como 'test.bat'.

Alguma idéia brilhante?

[editar] Impressionante! O problema era um valor ruim no pathext - alguém havia editado inadvertidamente a variável do sistema PATHEXT (prefixando% java_home% \ bin), quando essa edição deveria estar na variável PATH.

Obrigado!

    
por Community 09.03.2011 / 20:31

2 respostas

2

OK, vou jogar o meu chapéu no ringue e dizer que sua PATHEXT Variável do Sistema é escolhida ou inexistente nesse sistema. Olhe atentamente em suas variáveis de ambiente para uma entrada PATHEXT duplicada também.

O valor padrão da variável de sistema PATHEXT deve ser:

.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

A má notícia é que, se o servidor inicializar sem isso, provavelmente será necessário reinicializar para que a configuração entre em vigor, já que é uma variável do sistema.

Você removeu um programa dessa caixa recentemente?

De acordo com o link

The %PATHEXT% environment variable contains executable file extensions that do not have to be specified for any file in a directory given in the %PATH% variable. The extension .EXE is the most common. Thus the filename sol.exe need only be entered as sol in a command line. If files have the same name but different extensions, the operating system searches in the following order of precedence: .EXE, .COM, .BAT, and .CMD.

    
por 10.03.2011 / 16:57
0

Verifique a variável do sistema PATHEXT.

Ele deve mostrar algo como:

.COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC

    
por 10.03.2011 / 16:56