Wie öffne ich ein Programm über die Eingabeaufforderung in Windows 8?

17

Angenommen, ich habe ein Programm mit dem Namen any_program.exeund mein Betriebssystemlaufwerk ist C:. Der Speicherort des Programms istD:\Any_Folder\any_program.exe

Wie starte / führe ich das Programm über die Eingabeaufforderung in Windows 8 aus?

Ich habe die Kommandozeile ausprobiert START any_program.exe, aber es zeigt mir einen Fehler an

Windows kann 'any_program.exe' nicht finden. Stellen Sie sicher, dass Sie den Namen richtig eingegeben haben, und versuchen Sie es erneut.

Übrigens hat es in Windows 7 perfekt funktioniert. Und wenn ich START notepad.exeoder START firefox.exe(Firefox ist nicht in Laufwerk C installiert) eingebe, funktioniert es in Windows 8.

Ahmadul Hoq
quelle
Das hat wirklich nichts mit Windows 8 zu tun , oder?
Joey
Ich denke schon. In Windows 7 hätte nur der Pfad funktioniert. In Windows 8 muss der Pfad des Programms jedoch zwischen Anführungszeichen stehen (was ich herausgefunden habe), oder es wird der Fehler angezeigt, dass das Programm nicht gefunden werden konnte (wenn der Pfad nicht in der Umgebungsvariablen PATH oder in registriert ist) App-Registrierung).
Ahmadul Hoq
2
@ AhmadulHoq Windows 7 verhält sich meines Wissens genauso. Sie hatten die Akte wahrscheinlich an einem dieser Orte.
Bob

Antworten:

24

Es gibt drei grundlegende Möglichkeiten, einen Befehl in der Eingabeaufforderung auszuführen.

  • Builtins ( "interne Befehle" )

    Dies sind Befehle, die in cmd selbst integriert sind und keinen externen Programmaufruf erfordern. Sie führen auch keine Suche durch und werden immer mit der höchsten Priorität ausgeführt, wenn sie übereinstimmen. Sie können eingebaute Befehle umgehen, indem Sie den Namen der ausführbaren Datei in Anführungszeichen setzen: echoRuft den eingebauten Befehl auf, "echo"durchsucht ihn jedoch nach den folgenden cmd-Regeln.

  • Direkter Aufruf

    In diesem Fall geben Sie direkt einen Programmnamen (ohne Pfad) an. Wenn Sie beispielsweise cmd( cmd.exe) oder ipconfig( ipconfig.exe) an der Eingabeaufforderung ausführen , rufen Sie den externen Befehl direkt auf. Dies führt eine eingeschränkte Suche durch, die vollständig in der Eingabeaufforderung implementiert ist, und zwar in der folgenden Reihenfolge:

    • Das aktuelle Verzeichnis.
    • Die Verzeichnisse, die in der Umgebungsvariablen PATH aufgeführt sind.

    (danke an dxiv für die kommentare)

  • Durch den startBefehl

    Wenn Sie versuchen, eine Datei über den startBefehl auszuführen , führt die Eingabeaufforderung keine Suche durch. Stattdessen übergibt es den Dateinamen (und die Argumente) an Windows selbst (über den ShellExecuteExAPI-Aufruf), das dann nach dem Speicherort der Datei suchen muss. Es gibt mehrere Orte , die in der folgenden Reihenfolge durchsucht werden:

    • Aktuelles Arbeitsverzeichnis
    • Windows-Verzeichnis
    • Windows \ System32-Verzeichnis
    • Verzeichnisse, die in der Umgebungsvariablen PATH aufgeführt sind
    • Registrierungsdefinierte Anwendungspfade

    Beachten Sie, dass das Dialogfeld Ausführen auch diese Suchmethode verwendet.


Normalerweise können Sie entweder mit cd /d D:\Any_Folder( /ddh Laufwerk wechseln) zum Speicherort der Datei navigieren und einfach ausführen any_program.exe. Alternativ können Sie den vollständigen Pfad angeben D:\Any_Folder\any_program.exe.

Wenn Sie damit beginnen möchten start any_program.exe, haben Sie mehrere Möglichkeiten:

  • Sie können es in die Windows- oder System32-Verzeichnisse oder in ein beliebiges Verzeichnis in der Umgebungsvariablen PATH stellen.
  • Sie können das Verzeichnis, in dem es sich befindet ( D:\Any_Folder), zur Umgebungsvariablen PATH hinzufügen. Weitere Informationen finden Sie in dieser Frage .
  • Sie können es wie Notepad und Firefox zum Registrierungsschlüssel App Paths hinzufügen. App Paths verknüpft ein Dateischlüsselwort (z. B. firefox.exe) mit dem vollständigen Pfad zur Datei, im Gegensatz zu den anderen Optionen, die für Verzeichnisse gelten. Sehen Sie hier für weitere Informationen.
Bob
quelle
3
Der Vollständigkeit halber sollte beachtet werden, dass das Ausführen eines Programms an der Eingabeaufforderung direkt any_program.exe, während der App-Pfad-Schlüssel nicht durchsucht wird, während es ausgeführt wird, wie start any_program.exez. B. bei einer Standard-Win7-Installation, das Eingeben wordpadan der Eingabeaufforderung einen not recognizedFehler ergibt , während start wordpadWordpad erfolgreich gestartet wird ( basierend auf dem Schlüssel für die Anwendungspfade). Technischer Grund ist, dass die verknüpfte Seite auf ShellExecuteEx (das startverwendet) verweist, während CreateProcess (das von der direkten Ausführung verwendet wird) ausdrücklich erwähnt, dass App Paths nicht durchsucht wird.
DXIV
@dxiv Danke. Es stellte sich heraus, dass ein direkter Aufruf über cmd nur die Verzeichnisse cwd und PATH durchsucht. Ich werde mich in Kürze ändern.
Bob
1
Danke, das war schnell für einen 3-jährigen späten Kommentar ;-) Der relevante Dokument-Link ist msdn.microsoft.com/en-us/library/windows/desktop/ms682425.aspx, aber ich hatte keinen Platz, um ihn aufzunehmen im vorherigen Kommentar. Die Suchlogik ist in # 1-6 unter lpCommandLine aufgeführt.
DXIV
1
@dxiv Danke für den Link. Ich habe auch das in bearbeitet, obwohl es nicht zu meinem beobachteten Verhalten zu passen scheint ... (Versuch: set path=gefolgt von cmdkann es nicht finden, start cmdfunktioniert aber, da es immer noch nach Pfaden außerhalb der Umgebungsvariable sucht).
Bob
1
Vielen Dank für die Überprüfung. Es ist in der Tat so, dass die direkte Ausführung von cmd standardmäßig nicht die Windows- / Systemverzeichnisse durchsucht, und ich habe zu Unrecht auf die CreateProcess-Dokumente verwiesen. Anscheinend hat cmd eine eigene Logik, wie im Abschnitt "Befehlssuchsequenz" unter technet.microsoft.com/en-us/library/… beschrieben .
DXIV
7
start D:\Any_Folder\any_program.exe

oder, wenn der Pfad oder die Datei Leerzeichen enthält

start "" "D:\Any_Folder\any_program.exe"

start any_program.exeFunktioniert nur für Programme, die sich in einer %PATH%Umgebungsvariablen befinden oder in der Registrierung des Schlüssels HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Pathsoder seines HKEY_CURRENT_USERAnalogs registriert sind .

Maximus
quelle
5

Sie haben zwei Möglichkeiten:

  1. Fügen Sie das Programm Ihrer %PATH%Variablen hinzu
  2. Verwenden Sie Anführungszeichen in Ihrer Verknüpfung

Detail:

any_program.exeZum Pfad hinzufügen :

  1. Gehen Sie zu "Systemsteuerung" -> "Erweiterte Systemeinstellungen"
    Erweiterte Systemeinstellungen
  2. Gehen Sie zur Registerkarte Erweitert
    Systemeinstellungen

  3. Klicken Sie auf "Umgebungsvariablen". Fügen Sie den Ordner hinzu, in dem sich any_program.exe befindet. Bearbeiten Sie die PATH-Variable und fügen Sie am Ende den Ordner hinzu, getrennt durch ein;
    Pfadvariable

  4. Sie können jetzt "any_program.exe" im Dialogfeld "Ausführen" verwenden.

Vollständigen Pfad verwenden

Anstatt any_program.exeim Dialogfeld "Ausführen" zu verwenden, müssen Sie den vollständigen Pfad verwenden. So geben Sie D:\Stuff\App\any_program.exeim Ausführen - Dialog statt.

Nemo
quelle
Diese Screenshots sind WAAAY zu groß. Hast du etwas dagegen, sie in einer vernünftigen Größe zu haben?
Geselle Geek
Arbeiten daran ...
Nemo
Pfadverzeichnisse unter Windows werden durch Semikolons ( ;) und nicht durch Doppelpunkte ( :) begrenzt ...
Bob
Ich hatte das im Kopf, habe es aber immer noch falsch geschrieben.
Nemo
Screenshots stammen anscheinend von c-sharpcorner.com/UploadFile/6cde20/… . Die Screenshots dort sind schrecklich
Geselle Geek
1
  1. Öffnen Sie die Eingabeaufforderung
  2. Geben Sie den Namen des Programms ein, das Sie ausführen möchten. Wenn es auf der PATH-Systemvariablen ist, wird es ausgeführt. Wenn nicht, müssen Sie den vollständigen Pfad zum Programm eingeben. Zum Beispiel laufen D: \ Any_Folder \ any_program.exe Typ D: \ Any_Folder \ any_program.exe an der Eingabeaufforderung ein und drücken SieEnter
Rakib Ansary
quelle
Haha, schöner Trick!
Ahmadul Hoq
1

Ich benutze eine noch einfache Methode. . .
Kopieren Sie die Verknüpfung der Datei nach C: \ Benutzer \ Name, und geben Sie den Namen der Verknüpfung im Dialogfeld Ausführen ein. . . . .

prad_
quelle
0

Ich denke, Sie müssen den Pfad zur PATH-Variablen in Systemvariablen hinzufügen

Pratnala
quelle
0

Verwenden Sie hierzu CMD anstelle der grafischen Benutzeroberfläche.

  1. Position der ausführbaren Datei in CMD verfügbar machen, dh eine PATHVariable erstellen:

    Beispielsweise:

    • Szenario: Sie möchten Acrobat über CMD öffnen
    • SET PATH: In CMD Type

      SET ACROBAT="C:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat"
      
  2. Ausführen der Datei von CMD:

    In CMD-Typ:

    START ACROBAT
    

Das ist es !!!
Ich hoffe das war hilfreich.

DnyanDeep Taur
quelle