2012-03-06 17 views
10

He buscado durante muchas semanas para resolver mi problema y no puedo encontrar una buena forma de hacerlo que funcione en todas las máquinas que pueda necesitar.¿Cómo ejecuto un .exe pero permanezco en la misma ventana de comando (no abre uno nuevo)?

Sé que inicia Command abre una nueva ventana para hacer el .exe, pero quiero permanecer en la misma ventana y ejecutar el .exe

(porque quiero que mi archivo por lotes para continuar sólo cuando el .EXE ha terminado de ejecutarse)

He encontrado que en algunas computadoras, cuando ejecuto .exe, se abre una nueva ventana y otras computadoras permanecen en la misma ventana lo que me hace pensar que mi código está bien, pero hay una configuración en alguna parte de las computadoras eso es diferente.

¿Puede ayudarnos? ¿Cuáles son mis opciones? El .exe que estoy ejecutando es NASTRAN, que es un solucionador de ingeniería que se ejecuta en la ventana de comandos.

+1

¿Intentó 'iniciar' con la opción '/ B'? – Engineer

+0

Sí, lo intenté y todavía se abre una nueva ventana para hacer el .exe y pasa a la siguiente línea en la ventana de comandos original. –

+1

¿Por qué está utilizando el comando 'START' en primer lugar? Si desea la ejecución secuencial del archivo .EXE en la ventana original, simplemente elimine el comando 'START'. – Aacini

Respuesta

3

Probablemente tenga una variante diferente del .exe en algunas máquinas que solo se llama allí, y engendra una ventana separada, por razones que no puedo conocer. Busque el archivo .exe en todas las máquinas y compare.

Además, publique su código de archivo por lotes para que podamos ver exactamente cómo inicia el .exe.

+0

Gracias por ayudarme en el compañero de chat ... había dos versiones del .exe, una nueva ventana generada, una se quedó en la ventana actual, he cambiado el lote para llamar a este último :) ¡resuelto! –

+0

Hehe, hizo puntos de respeto de una sesión de chat informal. Esa es la primera vez para mí: D – TheBlastOne

22

que esperar a que el comando para terminar se debe utilizar el WAIT bandera:

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

Se podría iniciar una aplicación sin necesidad de crear una nueva ventana utilizando el B bandera:

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

También debe intente leer el texto de ayuda para el comando de inicio:

start /? 
+0

start/B y start/WAIT no funcionan. Todavía abre una nueva ventana de cmd para ejecutar el .exe y pasa a la siguiente línea en la ventana original. –

+0

@OliverBennett - ¿Qué sistema operativo está ejecutando? ¿Has intentado combinar los dos interruptores 'start/B/WAIT command'? ¿Puedes publicar tu línea de comando completa? – Cyclonecode

4

Puede utilizar cmd /k example.exe

+1

Funciona, pero mata tu historial y agrega un shell en ejecución a la pila. Esto debería evitarse de manera proactiva para aplicaciones comunes. –

1

¿Usted intentó usar la llamada en el archivo por lotes. ejecuta el exe en la misma ventana. como el archivo por lotes. La siguiente instrucción en el archivo de proceso por lotes se ejecuta después de ejecutar este exe ejecutando

+1

'llamada' no afecta la apertura de una ventana para archivos exe en absoluto – jeb

0

Puede considerar no usar start en absoluto. Simplemente inicia el ejecutable directamente.

Cuestiones relacionadas