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

11

Ich bin versucht , eine Kommandozeile , so etwas zu laufen: start /max C:\Program files\foo\ba.exe -somearguments.

Aber ich habe ein Problem, die cmd gibt eine Fehlermeldung wie The system cannot found the C:\Program fileund wenn ich die C:\Program files\foo\ba.exeum Anführungszeichen, es einfach ein neues Fenster cmd im MAX-Modus ausführen und das Programm nicht ausführen.

Wie kann ich das beheben?

Jack
quelle

Antworten:

12

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

Als nächstes, in Bezug auf Ihre Frage, wie wäre es, wenn Sie den Pfad wie folgt angeben:

start /max /d"C:\Program files\foo\" ba.exe -somearguments
Silviu
quelle
Diese Antwort ist nur eine Teillösung: Sie funktioniert, wenn der Pfad Leerzeichen enthält, nicht jedoch, wenn der Dateiname Leerzeichen enthält. Der Aufruf von '' start "b a.exe" schlägt fehl. ''
Georg W.
15

Der Fehler ist aufgetreten, weil das System Ihren Befehl als Datei C:\Programund fileals Argument Ihres Befehls interpretiert hat . Offensichtlich findet es die Datei nicht Programund hat diesen Fehler zurückgegeben.

Um das Problem zu beheben, fügen Sie einfach ""auf dem Pfad zwischen den Wörtern mit dem Leerzeichen oder auf dem gesamten Pfad Folgendes ein:

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

oder

start /max "C:\Program files\foo\ba.exe" -somearguments
Diogo
quelle
""Im zweiten Beispiel muss es einen Pfad vor dem Programm geben. Lesen Sie unter superuser.com/a/239572/1686 nach, warum.
Grawity
Sie sagen, ich muss es einschließen? Ich habe gerade hier jetzt getestet und es hat "" ohne vorher funktioniert ...
Diogo
Es könnte sich dann geändert haben, aber cmd.exeunter Windows XP würde es erforderlich sein.
Grawity
Ich habe es gerade ausprobiert, und Windows 7 akzeptiert das zweite Beispiel definitiv nicht, obwohl das erste funktioniert.
Harry Johnston
1
Und ein großes Lob an die Person bei MicroSoft, die beschlossen hat, ein Leerzeichen im Ordnernamen zu verwenden!
Michael Potter
2

Der Pfad in Anführungszeichen zu setzen ist zwar am einfachsten und am klarsten zu lesen, Sie können jedoch auch die alten DOS-Kurznamen (seit DOS 8.3 wurden Dateinamen mit mehr als 8 Zeichen abgeschnitten ~1) für Dateien verwenden. Diese Namen haben keine Leerzeichen. Mit dem DIR /XBefehl können Sie die Kurznamen für Dateien anzeigen.

Sachleen
quelle
1

In Win10 können Sie dies versuchen:

start /max C:\Program%20files\foo\ba.exe -somearguments
Ivan M
quelle
1
Willkommen bei Super User! Können Sie erklären, was Sie vorschlagen? :)
bertieb