it-swarm.it

Come creare un file batch in Windows usando "start" con un percorso e un comando con spazi

Devo creare un file batch che avvia più applicazioni console in un file .cmd di Windows. Questo può essere fatto usando il comando di avvio.

Tuttavia, il comando ha un percorso in esso. Devo anche passare i parametri che hanno anche spazi. Come fare questo?

Per esempio. file batch

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

In realtà, il suo esempio non funzionerà (anche se all'inizio pensavo che lo sarebbe stato anche). Sulla base della guida per il comando Start, il primo parametro è il nome della finestra del prompt dei comandi appena creata e il secondo e il terzo dovrebbero essere rispettivamente il percorso dell'applicazione e i relativi parametri. Se aggiungi un altro "" prima del percorso all'app, dovrebbe funzionare (almeno lo ha fatto per me). Usa qualcosa del genere:

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

È possibile modificare il primo argomento in modo che sia il titolo del nuovo prompt Prompt. Se si tratta di un'app di Windows che viene creata, allora il comando Prompt non verrà visualizzato e il titolo non avrà importanza.

158
Andy

L'escape del percorso con gli apostrofi è corretto, ma il comando di avvio accetta un parametro contenente il titolo della nuova finestra. Questo parametro viene rilevato dagli apostrofi circostanti, pertanto l'applicazione non viene eseguita.

Prova qualcosa del genere:

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

Quando ho usato il suggerimento di cui sopra, ho:

'c:\path' non viene riconosciuto come comando interno o esterno, programma eseguibile o file batch. 

Penso che il secondo segno di qoutation impedisca l'esecuzione del comando. Dopo qualche ricerca sotto la soluzione salva la mia giornata:

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

È interessante notare che, in Windows Embedded Compact 7, non è possibile specificare una stringa del titolo. Il primo parametro deve essere il comando o il programma.

1
Mark Agate

Devi usare qualcosa come questo:

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

avvia/d "C:\Programmi\Mozilla

Firefox "firefox.exe start/d

"C:\Programmi\Microsoft

Office\Office12 "Excel.EXE

Inoltre ti consiglio di usare l'editor di file batch speciali - Dr.Batcher

0
user243871