Linha de comando do Windows: 'não reconhecido como um comando interno ou externo, programa operável ou arquivo em lote'.

10

Quando executo o cmd no Windows 7 (digitando 'cmd'Windows Run), o seguinte erro é exibido :

insira a descrição da imagem aqui

'-p' não é reconhecido como um comando interno ou externo, programa operável ou arquivo em lote.

Eu tentei verificar PATH em variáveis ​​de ambiente. Correr echo %PATH%me dá o seguinte:

C: \ Windows \ System32; C: \ Windows; C: \ Windows \ System32 \ WindowsPowerShell \ v1.0; C: \ xampp \ php;

Eu verifiquei todos os diretórios apontados pelo PATH. Tudo parece estar no lugar. O que eu não consigo entender é onde '-p'está sendo chamado. Estou pensando que tem algo a ver com cmdisso, uma vez que só sai quando ligo cmde não quando corro ipconfigou ping, por exemplo.

nmenego
fonte
Como você executa o 'cmd'? Você executa um atalho ou digita 'cmd' na caixa de pesquisa?
26413 Simon
@ Simon, eu corro usando o Windows Run. Eu atualizei a pergunta.
Nmenego 26/03
verifique em cada um dos diretórios listados no PATH, cmd. * - talvez isso forneça uma pista #
StevenV
Esse cara: stackoverflow.com/questions/10077689/… tinha um espaço antes de a; na declaração do caminho.
edelwater
@edelwater Caso ligeiramente diferente lá; esse cara estava tentando executar um programa chamado R, que deveria estar em seu caminho, mas não estava, devido a esse erro. Esse caso é do próprio processador de comando ( cmd) que gera o erro na inicialização - e a inicialização foi bem-sucedida. Ainda assim, o problema que o causou pode ser o mesmo; Eu não vou desconto que ...
Bob

Respostas:

12

É possível que você tenha um comando 'AutoRun' definido no registro. Há duas chaves de registro, uma por usuário e outra por computador, que podem definir comandos que são executados toda vez que o processador de comandos ( cmd.exe) é iniciado. Eles estão realmente listados cmd /?.

De qualquer forma, tente executar cmd /de veja se isso produz a mesma mensagem. O /dsinalizador significa "não execute comandos de execução automática", o que o torna perfeito para testar isso.

Os valores do registro são:

HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun

Verifique os dois. Por padrão, nenhum deles deve existir. Você pode corrigir as sequências de comando nas suas ou até mesmo excluí-las completamente.

Relacionado: http://blogs.msdn.com/b/oldnewthing/archive/2007/11/21/6447771.aspx


Como alternativa, você pode ter um script em lote ou similar configurado com o nome cmd, que está sendo executado em vez do nativo cmd. Tente o comando where cmdpara imprimir uma lista de cmds no seu caminho, em ordem de execução. Se houver outro que não seja o anterior C:\Windows\System32\cmd.exe, você pode excluí-los ou remover o caminho da variável de ambiente PATH.

Prumo
fonte
Tentei executar cmd /de, como esperado, o problema desapareceu. Em seguida, verifiquei o registro e encontrei HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRunalgumas seqüências de comando com relação ao ANSICON. Não consegui removê-lo da última vez que o excluí. Eu simplesmente removi a chave! Esta é uma resposta brilhante!
Nmenego 26/03