Esiste un modo per eseguire un'applicazione senza attendere in un file batch? Ho provato il startcomando ma crea semplicemente una nuova finestra di comando.
Esiste un modo per eseguire un'applicazione senza attendere in un file batch? Ho provato il startcomando ma crea semplicemente una nuova finestra di comando.
Risposte:
Sto facendo un'ipotesi qui, ma la tua startinvocazione probabilmente assomiglia a questo:
start "\Foo\Bar\Path with spaces in it\program.exe"
Questo aprirà una nuova finestra della console, usando "\ Foo \ Bar \ Path con spazi in esso \ program.exe" come titolo.
Se usi startqualcosa che è (o deve essere) circondato da virgolette, devi inserire virgolette vuote come primo argomento:
start "" "\Foo\Bar\Path with spaces in it\program.exe"
Questo perché startinterpreta il primo argomento citato che trova come titolo della finestra per una nuova finestra della console.
start "Obligatory Atavistic Window Title" "\Foo\Bar\Path with spaces in it\program.exe"
Se il tuo exe prende argomenti,
start MyApp.exe -arg1 -arg2
Ho usato start / b per questo invece di semplicemente start e ha funzionato senza una finestra per ogni comando, quindi non c'era attesa.
Se startnon riesci a trovare quello che sta cercando, fa quello che descrivi.
Dal momento che ciò che stai facendo dovrebbe funzionare, è molto probabile che stai tralasciando alcune virgolette (o inserendo extra).
start-ed all'interno di uncallfile .bat -ed B (che a sua volta è stato chiamato da A ), e C rimane aperto dopo che B termina (diciamo C è un servizio o qualcosa che aspetta solo che succeda qualcosa e non ha un endpoint fisso fino allo spegnimento del sistema operativo), il genitore A che contenevacallpotrebbe non essere in grado di terminare come previsto a meno che il processo C non si chiuda o ucciso. Ecco un semplice esempio: codepad.org/KLglXDnZ