Tengo un archivo bat como este:
ipconfig
Eso imprimirá la información de IP en la pantalla, pero antes de que el usuario pueda leer esa información, CMD se cierra.
Creo que CMD asume que el script ha terminado, por lo que se cierra.
¿Cómo mantengo CMD abierto una vez finalizado el script?
batch-file
cmd
pattyd
fuente
fuente

pausecual es una buena solución (y es por eso que voté por esta respuesta) pero no una que realmente resuelva el problema porque después de que el usuario golpeaEnteroSpacela ventana se cerrará. ..Respuestas:
Dependiendo de cómo esté ejecutando el comando, puede colocar
/kdespuéscmdpara mantener la ventana abierta.Simplemente agregar
cmd /kal final de su archivo por lotes también funcionará. Gracias a Luigi D'Amico, quien publicó sobre esto en los comentarios a continuación.fuente
cmd /kal final.Poner
pauseal final de su archivo .BAT.fuente
Solo agregue
@pauseal final.Ejemplo:
O también puedes usar:
fuente
@pauseypausese puede ver visualmente en esta respuesta: stackoverflow.com/questions/17957076#60053224Agregar
pause(Windows 7) al final no funcionó para mí,pero agregar el
cmd /kfrente de mi comando sí funcionó.Ejemplo:
fuente
Cuando se inicia el archivo .bat no desde la línea de comando (por ejemplo, haciendo doble clic).
fuente
start cmd /khizo la magia por mí De hecho, lo usé para preparar la aplicación cordova phonegap, ejecuta el comando, muestra el resultado y espera a que el usuario lo cierre. A continuación se muestra el ejemplo simpleLo que utilicé en mi caso
Actualizar
Incluso podría tener un título para esto usando
start "My Title" echo Hello, World!fuente
Si está iniciando el script dentro de la línea de comando, luego agregue
exit /bpara mantener abierto CMDfuente
ipconfigy otros archivos por lotes integrados es una muy mala idea .En Windows agregue '& Pause' al final de su comando en el archivo.
fuente
También estaba confundido sobre por qué estamos agregando un
cmdal principio y me preguntaba si primero tenía que abrir el símbolo del sistema. Lo que debe hacer es escribir el comando completo junto concmd /k. Por ejemplo, suponga que su nombre de archivo por lotes es "my_command.bat", que ejecuta el comando,javac my_code.javaentonces el código en su archivo por lotes debe ser:Básicamente, no es necesario abrir el símbolo del sistema en la carpeta actual y escribir el comando anterior, pero puede guardar este código directamente en su archivo por lotes y ejecutarlo directamente.
fuente
el segundo comando hace que su ventana de cmd no se cierre. Lo importante es que aún puede ingresar un nuevo comando
fuente
Como nota al margen, esto también funciona cuando se ejecuta un comando directamente desde la barra de búsqueda en Windows.
por ejemplo, la ejecución
ipconfigdirecta cerrará directamente la ventana cmd después de que el comando haya salido.Usando
cmd \k <command>will - que era lo que estaba tratando de hacer cuando encontré esta respuesta.Tiene la ventaja adicional de reconocer siempre el comando que está intentando ejecutar. Por ejemplo, ejecutar
echo hello worlddesde la barra de búsqueda no funcionará porque ese no es un comando, perocmd \k echo hello worldfunciona bien.fuente