2012-06-05 16:19:06 +0000 2012-06-05 16:19:06 +0000
17
17

Wie rufe ich ein Programm auf, das ein Leerzeichen im Dateinamen enthält?

Ich habe versucht, eine Befehlszeile wie die folgende auszuführen: start /max C:\Program files\foo\ba.exe -somearguments.

Aber ich habe ein Problem, das cmd gibt eine Fehlermeldung wie The system cannot found the C:\Program file zurück und wenn ich das C:\Program files\foo\ba.exe in Anführungszeichen setze, führt es einfach ein neues Fenster cmd im MAX-Modus aus und lässt das Programm nicht laufen.

Wie kann ich das beheben?

Antworten (4)

15
15
15
2012-06-05 16:26:45 +0000

Alle Dateinamen und Pfade, die Leerzeichen enthalten, müssen in Anführungszeichen gesetzt werden.

Weiter, bezüglich Ihrer Frage, wie wäre es mit der Angabe des Pfades wie:

start /max /d"C:\Program files\foo\" ba.exe -somearguments
15
15
15
2012-06-05 16:24:44 +0000

Der Fehler ist aufgetreten, weil das System Ihren Befehl als die Datei C:\Program und file als Argument Ihres Befehls interpretiert hat. Offensichtlich findet es die Datei Program nicht und gibt diesen Fehler zurück.

Um den Fehler zu beheben, fügen Sie einfach "" in den Pfad zwischen den Wörtern mit dem Leerzeichen oder in den gesamten Pfad ein:

start /max C:\"Program files"\foo\ba.exe -somearguments

oder

start /max "C:\Program files\foo\ba.exe" -somearguments
4
4
4
2012-06-05 16:31:11 +0000

Obwohl das Einschließen des Pfades in Anführungszeichen am einfachsten und am klarsten zu lesen ist, können Sie auch die alten DOS-Kurznamen (seit DOS 8.3 wurden Dateinamen, die länger als 8 Zeichen waren, mit ~1 abgeschnitten) für Dateien verwenden. Diese Namen haben keine Leerzeichen. Sie können die Kurznamen für Dateien mit dem Befehl DIR /X anzeigen.

1
1
1
2018-05-04 12:48:54 +0000

Unter Win10 können Sie dies versuchen:

start /max C:\Program%20files\foo\ba.exe -somearguments