2012-03-06 9 views
10

Ho cercato per molte settimane di risolvere il mio problema e non riesco a trovare un buon modo di farlo che funzioni su ogni macchina che potrei aver bisogno di usare.Come si esegue un exe ma si rimane nella stessa finestra di comando (non si apre uno nuovo)?

So comando di start apre una nuova finestra per fare l'exe, ma voglio rimanere nella stessa finestra ed eseguire il file exe

(perché voglio che il mio file batch per continuare SOLO QUANDO LA .EXE ha finito di funzionare)

Ho trovato che su alcuni computer quando I. exe apre una nuova finestra e altri computer rimane nella stessa finestra che mi fa pensare che il mio codice sia a posto ma c'è un'impostazione da qualche parte sui computer è diverso

Potete essere d'aiuto? Quali sono le mie opzioni? Il file .exe che sto usando è NASTRAN che è un solutore di ingegneria che gira in una finestra di comando.

+1

Hai provato a "iniziare" con l'opzione "/ B"? – Engineer

+0

Sì, l'ho provato e apre ancora una nuova finestra per eseguire l'exe e passare alla riga successiva nella finestra di comando originale. –

+1

Perché stai usando il comando 'START' al primo posto? Se si desidera l'esecuzione sequenziale del file .EXE nella finestra originale, rimuovere il comando 'START'! – Aacini

risposta

3

Probabilmente hai una variante diversa di .exe su alcune macchine chiamate solo lì, e genera una finestra separata, per ragioni che non posso sapere. Cerca il file .exe su tutte le macchine e confronta.

Inoltre, inserisci il codice del file batch in modo da poter vedere esattamente come si avvia l'exe.

+0

Grazie per avermi aiutato in chat mate ... c'erano due versioni di .exe, uno generato una nuova finestra, uno rimasto nella finestra corrente, ho cambiato il batch per chiamare l'ultimo :) risolto !! –

+0

Hehe, fatto rispettare punti di una sessione di chat informale. Questa è la prima volta per me: D – TheBlastOne

22

Per attendere il comando per terminare è necessario utilizzare il flag WAIT:

start /WAIT c:/windows/system32/notepad.exe 

Si potrebbe avviare un'applicazione senza creare una nuova finestra utilizzando il flag B:

start /WAIT /B "c:/windows/system32/cmd.exe" 

Si dovrebbe anche prova a leggere il testo della guida per il comando di avvio:

start /? 
+0

start/B e start/WAIT non funzionano. Apre ancora una nuova finestra cmd per eseguire l'exe e passa alla riga successiva nella finestra originale. –

+0

@OliverBennett - Quale sistema operativo stai utilizzando? Hai provato a combinare entrambi gli interruttori 'comando start/B/WAIT'? Puoi pubblicare la tua linea di comando completa? – Cyclonecode

4

È possibile utilizzare cmd /k example.exe

+1

Funziona, ma uccide la cronologia e aggiunge una shell in esecuzione allo stack. Questo dovrebbe essere evitato per le applicazioni comuni. –

1

Hai provato utilizzando chiamata nel file batch. gestisce l'exe nella stessa finestra. come il file batch. La prossima dichiarazione nel file batch viene eseguita dopo che questo exe è finito in esecuzione

+1

'call' non ha alcun effetto sull'apertura di una finestra per i file exe – jeb

0

Si potrebbe considerare non utilizzando start affatto. Basta avviare direttamente l'eseguibile.

Problemi correlati