Pregunta

Cada vez que uso Runtime.exec (" cmd / c start .... ") estoy abriendo una ventana de cmd. Me gustaría crear una aplicación más perfecta cerrando cada ventana cmd anterior. ¿Cómo puedo hacer esto?

Si alguien sabe una mejor manera de ejecutar una serie de comandos en la misma ventana de cmd en lugar de abrir nuevos cada vez que ejecuto un comando, hágamelo saber.

¿Fue útil?

Solución

No puedes controlar las ventanas abiertas desde Java. Pero te sugiero dos soluciones para ti:

Primero :

Runtime.exec("cmd /c start /MIN ...")

El parámetro / MIN evitará que aparezcan ventanas.

Segundo : coloque todas las aplicaciones a las que debe llamar dentro del mismo archivo por lotes y llámelo una vez. :-)

Otros consejos

No usar inicio, eso abre otra ventana

Reemplazar:

Runtime.exec("cmd /c start....")

con:

Runtime.exec("cmd /c ....")

¿Por qué necesitas ventanas cmd?

Ejecutaría el comando directamente en Java, capturaría el resultado y lo mostraría en una ventana local (si es que se necesita).

Solo asegúrate de consumir toda la salida del programa o podría detenerse. También recuerde cerrar las secuencias stdout, stderr y stdin, ya que algunos manejadores de archivos pueden perder (bueno, eso es cierto en algunos JDK en algunos sistemas operativos Unix ... Windows, quién sabe).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top