¿Cómo evitar que la línea de comandos se cierre después de la ejecución?
Mi problema es que en Windows, hay ventanas de línea de comandos que se cierran inmediatamente después de la ejecución. Para solucionarlo, quiero que el comportamiento por defecto sea que la ventana se mantenga abierta. Normalmente, este comportamiento puede evitarse con tres métodos que se me ocurren:
- Poner una línea
pause
después de los programas por lotes para pedir al usuario que presione una tecla antes de salir - Ejecutar estos archivos por lotes u otras herramientas de manipulación de la línea de comandos (incluso el inicio del servicio, el reinicio, etc. con
net start xy
o cualquier otra cosa similar) dentro decmd.exe
(Start - Run - cmd.exe) - Ejecutando estos programas con
cmd /k
así:cmd /k myprogram.bat
Pero hay algunos otros casos en los que el usuario:
- Ejecuta el programa la primera vez y no sabe que el programa dado se ejecutará en el Símbolo del sistema (Procesador de comandos de Windows), por ejemplo, al ejecutar un acceso directo desde el menú Inicio (o desde otro lugar), O
- Le resulta un poco incómodo ejecutar cmd.exe todo el tiempo y no tiene tiempo/oportunidad de reescribir el código de estos comandos en todas partes para poner una pausa después de ellos o evitar salir explícitamente.
He leído un artículo sobre el cambio del comportamiento por defecto de cmd.exe
al abrirlo explícitamente, con la creación de una entrada AutoRun y manipulando su contenido en estos lugares:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor\AutoRun
(Los elementos de AutoRun son _String values_
…)
puse cmd /d /k
como valor de él para darle una oportunidad, pero esto no cambió el comportamiento de las cosas mencionadas arriba en absoluto… Sólo cambió el comportamiento de la ventana de la línea de comandos al abrirla explícitamente (Start-Run-cmd.exe).
Entonces, ¿cómo funciona? ¿Puedes darme alguna idea para resolver este problema?