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.


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.


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
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.