write simple script run how example create commands batch bat batch-file cmd

batch file - simple - ¿Cómo cerrar automáticamente la ventana de cmd después de la ejecución del archivo por lotes?



script batch file commands (7)

Agregue este código al final del código de ejecución

c: / windows> exit

Estoy ejecutando un archivo por lotes que tiene estas dos líneas:

start C:/Users/Yiwei/Downloads/putty.exe -load "MathCS-labMachine1" "C:/Program Files (x86)/Xming/Xming.exe" :0 -clipboard -multiwindow

Este archivo por lotes se usa para ejecutar la aplicación Xming y luego la aplicación PuTTY para que pueda SSH en el laboratorio de computación de mi universidad.

Sin embargo, si ejecuto esto y Xming aún no está abierto, una vez que salgo de la terminal PuTTY, la ventana de cmd permanece abierta. Solo si ya ejecuté Xming, la ventana de cmd se cierra cuando cierro el terminal PuTTY. Intenté agregar la exit a la última línea del archivo por lotes, pero fue en vano.


Esto funcionó para mí. Solo quería cerrar la ventana de comandos automáticamente después de salir del juego. Simplemente hago doble clic en el archivo .bat en mi escritorio. Sin atajos.

taskkill /f /IM explorer.exe C:/"GOG Games"/Starcraft/Starcraft.exe start explorer.exe exit /B


Modifique el archivo por lotes para START ambos programas, en lugar de START uno y CALL a otro

start C:/Users/Yiwei/Downloads/putty.exe -load "MathCS-labMachine1" start "" "C:/Program Files (x86)/Xming/Xming.exe" :0 -clipboard -multiwindow

Si lo ejecuta así, ninguna ventana de CMD permanecerá abierta después de iniciar el programa.


Para los novatos viendo: -

  • Normalmente finaliza un archivo por lotes con una línea que simplemente dice exit

* Si quiere asegurarse de que el archivo se haya ejecutado y que la ventana de DOS se cierre después de 2 segundos, puede agregar las líneas:

tiempo de espera 2> nul

salida

  • Pero ... el comando de salida no funcionará si su archivo por lotes abre otra ventana, porque si bien la segunda ventana está abierta, también se mostrará la ventana antigua de DOS.

SOLUCIÓN: Por ejemplo, hay una gran pequeña progea gratuita llamada BgInfo que mostrará toda la información que hay sobre su computadora. Supongamos que está en un directorio llamado C: / BgInfo. Para ejecutarlo desde un archivo de proceso por lotes con el interruptor "/ popup" ..... Y para que la ventana de DOS se cierre después mientras todavía se ejecuta, use:

start "" "C: / BgInfo / BgInfo.exe" / popup

salida


Podrías probar el algo peligroso: taskkill /IM cmd.exe .. bcz peligroso que matará el cmd que está abierto y cualquier cmd abierto antes de él.

O agregue una verificación para confirmar que tenía el cmd.exe correcto y luego elimínelo a través de PID, como este:

set loc=%time%%random% title=%loc% for /f "tokens=2 delims= " %%A in (''tasklist /v ^| findstr /i "%loc%"'') do (taskkill /PID %%A)

Sustituya (pslist &&A) o (tasklist /FI "PID eq %%A") para (taskkill /PID %%A) si desea verificarlo primero (y quizás tenga pstools instalados).


Si desea separar los comandos en un comando por archivo, puede hacer

cmd /c start C:/Users/Yiwei/Downloads/putty.exe -load "MathCS-labMachine1"

y en el otro archivo, puedes hacer

cmd /c start "" "C:/Program Files (x86)/Xming/Xming.exe" :0 -clipboard -multiwindow

El comando cmd / c cerrará la ventana del símbolo del sistema después de ejecutar el exe.


Tuve esto, agregué EXIT y al principio no funcionó, supongo que por requerir que el called program exiting consejo mencionado aquí en otra respuesta, sin embargo, ahora funciona sin más preámbulos; no estoy seguro de qué fue lo que causó esto, pero el punto a tener en cuenta es que estoy llamando a un archivo de datos .html lugar del programa que lo maneja browser.exe , no edité nada más pero basta con decir que es mucho más sencillo usar un archivo bat para acceder a las páginas de acceso principal de esos documentos web y solo tiene title.bat , contents.bat , index.bat en la carpeta raíz con el resto del contenido en una subcarpeta.

es decir: contents.bat lee

cd subfolder "contents.html" exit

También se ve mejor si cambio los íconos del archivo bat para esos ítems para adaptarlos al contexto en el que están, pero eso es otra cosa, ocultar los archivos bat en la subcarpeta y crear accesos directos a los íconos personalizados en la carpeta raíz con las imágenes pidió la personalización también oculta.