Windows-Befehlszeile: "Wird nicht als interner oder externer Befehl, bedienbares Programm oder Batchdatei erkannt."

10

Wenn ich cmd in Windows 7 ausführe (durch Eingabe 'cmd'von Windows Run), wird der folgende Fehler angezeigt:

Geben Sie hier die Bildbeschreibung ein

'-p' wird nicht als interner oder externer Befehl, bedienbares Programm oder Batchdatei erkannt.

Ich habe versucht, PATH in Umgebungsvariablen zu überprüfen. Laufen echo %PATH%gibt mir folgendes:

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

Ich habe alle Verzeichnisse überprüft, auf die PATH verweist. Alles scheint an Ort und Stelle zu sein. Was ich nicht verstehen kann ist, wo gerufen '-p'wird. Ich denke, dass es etwas damit zu tun hat, cmdda es nur herauskommt, wenn ich anrufe cmdund nicht, wenn ich renne ipconfigoder pingzum Beispiel.

nmenego
quelle
Wie läuft 'cmd'? Führen Sie eine Verknüpfung aus oder geben Sie 'cmd' in das Suchfeld ein?
Simon
@ Simon, ich führe es mit Windows Run aus. Ich habe die Frage aktualisiert.
Nmenego
Überprüfen Sie jedes der dort in Ihrem PATH aufgeführten Verzeichnisse auf cmd. * - vielleicht liefert das einen Hinweis
StevenV
Dieser Typ: stackoverflow.com/questions/10077689/… hatte ein Leerzeichen vor einem; in der Pfadanweisung.
Edelwasser
@edelwater Etwas anderer Fall dort; Dieser Typ hat versucht , ein Programm namens auszuführen R, das auf seinem Weg hätte sein sollen, es aber aufgrund dieses Fehlers nicht war. In diesem Fall löst der Befehlsprozessor ( cmd) selbst den Fehler beim Start aus - und der Start war erfolgreich. Das Problem, das es verursacht hat, könnte jedoch dasselbe sein. Ich werde das nicht rabattieren ...
Bob

Antworten:

12

Möglicherweise ist in der Registrierung ein Befehl 'AutoRun' festgelegt. Es gibt zwei Registrierungsschlüssel, einen pro Benutzer und einen pro Computer, mit denen Befehle definiert werden können, die bei jedem Start des Befehlsprozessors ( cmd.exe) ausgeführt werden. Sie sind tatsächlich in aufgeführt cmd /?.

Versuchen Sie auf jeden Fall zu laufen cmd /dund prüfen Sie, ob die gleiche Meldung angezeigt wird. Das /dFlag bedeutet "AutoRun-Befehle nicht ausführen", was es perfekt zum Testen macht.

Die Registrierungswerte sind:

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

Überprüfen Sie beide. Standardmäßig sollte keines vorhanden sein. Möglicherweise möchten Sie die Befehlszeichenfolgen in Ihren korrigieren oder sie sogar vollständig löschen.

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


Alternativ können Sie ein Batch-Skript oder ähnliches mit dem Namen einrichten lassen cmd, das anstelle des nativen ausgeführt wird cmd. Versuchen Sie den Befehl where cmd, eine Liste von cmds in Ihrem Pfad in der Reihenfolge der Ausführung auszudrucken . Wenn es andere als / vor dem in gibt C:\Windows\System32\cmd.exe, möchten Sie diese möglicherweise löschen oder ihren Pfad aus Ihrer PATH-Umgebungsvariablen entfernen.

Bob
quelle
Ich habe versucht, es auszuführen, cmd /dund wie erwartet war das Problem behoben. Ich habe dann die Registrierung überprüft und HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRuneinige Befehlszeichenfolgen in Bezug auf ANSICON gefunden. Ich konnte es nicht entfernen, als ich es das letzte Mal gelöscht habe. Ich habe einfach den Schlüssel entfernt! Dies ist eine brillante Antwort!
Nmenego