Wie erfolgt die Batch-Datei in Windows mit „Start“ mit einem Pfad und Befehl mit Leerzeichen erstellen

StackOverflow https://stackoverflow.com/questions/72671

  •  09-06-2019
  •  | 
  •  

Frage

Ich brauche eine Batch-Datei zu erstellen, die in einer Datei .cmd von Windows mehrere Konsolenanwendungen gestartet. Dies kann mit dem Startbefehl erfolgen.

Allerdings hat der Befehl einen Pfad in ihm. Ich muss auch passieren, die Paramater Räume als auch haben. Wie man dies tut?

z. Batch-Datei

start "c:\path with spaces\app.exe" param1 "param with spaces"
War es hilfreich?

Lösung

Eigentlich wird sein Beispiel nicht (obwohl ich anfangs dachte, dass wäre es, auch). Basierend auf der Hilfe für den Start-Befehl ist der erste Parameter der Name des neu geschaffenen Fensters Eingabeaufforderung, und die zweiten und dritten soll der Pfad zur Applikation und deren Parameter sein, respectively. Wenn Sie vor dem Pfad zum App einen anderen „“ hinzufügen, sollte es funktionieren (zumindest hat es für mich). Verwenden Sie so etwas wie folgt aus:

start "" "c:\path with spaces\app.exe" param1 "param with spaces"

Sie können das erste Argument ändern zu sein, was auch immer Sie den Titel der neuen Eingabeaufforderung sein will. Wenn es eine Windows-Anwendung ist, die erstellt wird, dann wird die Eingabeaufforderung nicht angezeigt werden, und der Titel wird keine Rolle spielen.

Andere Tipps

Escaping den Pfad mit Apostroph ist richtig, aber der Startbefehl nimmt einen Parameter, um den Titel des neuen Fensters enthält. Dieser Parameter wird von den umliegenden Apostrophe erkannt wird, so dass Ihre Anwendung nicht ausgeführt wird.

Versuchen Sie etwas wie folgt aus:

start "Dummy Title" "c:\path with spaces\app.exe" param1 "param with spaces"
start "" "c:\path with spaces\app.exe" "C:\path parameter\param.exe"

Als ich oben Vorschlag verwendet, ich habe:

  

‚c: \ Pfad‘ ist ein interner oder externer Befehl, ein Programm oder Batch-Datei nicht erkannt.

Ich denke zweite qoutation Markierungsbefehl verhindern auszuführen. Nach einiger Suche unten Lösung spart meinen Tag:

start "" CALL "c:\path with spaces\app.exe" "C:\path parameter\param.exe"

Interessanterweise scheint es, dass in Windows Compact 7 Embedded Sie keinen Titel Zeichenfolge angeben. Der erste Parameter hat den Befehl oder ein Programm sein.

Sie sind so etwas wie diese verwenden:

  

Starten / d C: \ Windows \ System32 \ calc.exe

     

Starten / d „C: \ Programme \ Mozilla

     

Firefox“Firefox.exe Start / d

     

"C: \ Programme \ Microsoft

     

Office \ Office12" EXCEL.EXE

Auch ich rate Ihnen spezielle Batch-Dateien-Editor verwenden - Dr.Batcher

Rund um den Pfad und das Argument mit Leerzeichen in Anführungszeichen, wie in Ihrem Beispiel tun soll. Der Befehl kann die Anführungszeichen behandeln muß, wenn die Parameter an sie übergeben werden, aber es ist in der Regel kein großes Problem.

Ich erforschte erfolgreich und es funktioniert gut für mich. Meine Forderung ist aus einer Batch-Datei in Windows gesendet rufen eine E-Mail Vbscript verwendet, die benötigt werden. Hier ist der genaue Befehl, den ich ohne Fehler verwenden.

START C:\Windows\System32\cscript.exe "C:\Documents and Settings\akapoor\Desktop\Mail.vbs"
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top