Riga di comando di Windows: "non riconosciuto come comando interno o esterno, programma eseguibile o file batch".


10

Quando eseguo cmd in Windows 7 (digitando 'cmd'in Esegui Windows), viene visualizzato il seguente errore:

inserisci qui la descrizione dell'immagine

'-p' non è riconosciuto come comando interno o esterno, programma eseguibile o file batch.

Ho provato a controllare il PERCORSO nelle variabili di ambiente. Correre echo %PATH%mi dà quanto segue:

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

Ho controllato tutte le directory indicate da PATH. Tutto sembra essere a posto. Quello che non riesco a capire è dove '-p'viene chiamato. Sto pensando che abbia qualcosa a che fare con il cmdfatto che esce solo quando chiamo cmde non quando corro ipconfigo ping, per esempio.


Come si esegue 'cmd'? Esegui un collegamento o digita "cmd" nella casella di ricerca?
Simon,

@Simon, lo eseguo usando Windows Run. Ho aggiornato la domanda.
nmenego,

controlla ognuna delle directory elencate nel tuo PERCORSO, per cmd. * - forse questo fornirà un indizio
StevenV

Questo ragazzo: stackoverflow.com/questions/10077689/… aveva uno spazio prima di un; nell'istruzione path.
Edelwater,

@edelwater Caso leggermente diverso lì; quel ragazzo stava cercando di eseguire un programma chiamato R, che avrebbe dovuto essere sulla sua strada ma non lo era, a causa di quell'errore. Questo caso riguarda il processore dei comandi ( cmd) stesso che genera l'errore all'avvio e l'avvio ha avuto esito positivo. Tuttavia, il problema che lo ha causato potrebbe essere lo stesso; Non lo sconto ...
Bob,

Risposte:


12

È possibile che nel registro sia impostato un comando "AutoRun". Esistono due chiavi di registro, una per utente e una per computer, che possono definire comandi che vengono eseguiti ogni volta che viene avviato il processore dei comandi ( cmd.exe). In realtà sono elencati in cmd /?.

Ad ogni modo, prova a correre cmd /de vedi se questo produce lo stesso messaggio. Il /dflag significa "non eseguire i comandi AutoRun", il che lo rende perfetto per testarlo.

I valori del registro sono:

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

Controlla entrambi. Per impostazione predefinita, nessuno dei due dovrebbe esistere. Potresti voler correggere le stringhe di comando nelle tue o addirittura eliminarle del tutto.

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


In alternativa, potresti avere uno script batch o simile impostato con il nome cmd, che viene eseguito al posto del nativo cmd. Prova il comando where cmdper stampare un elenco di cmds nel tuo percorso, in ordine di esecuzione. Se ce ne sono altri diversi da / prima di quello in C:\Windows\System32\cmd.exe, potresti volerli eliminare o rimuovere il loro percorso dalla variabile di ambiente PATH.


Ho provato a eseguire cmd /de, come previsto, il problema era sparito. Ho quindi controllato il registro e ho trovato HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRunalcune stringhe di comando relative ad ANSICON. Non sono stato in grado di rimuoverlo l'ultima volta che l'ho eliminato. Ho semplicemente rimosso la chiave! Questa è una risposta brillante!
nmenego,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.