Tengo dos archivos por lotes, uno de ellos ejecuta otro, es decir
- "Mi archivo por lotes"> 2. "Otro archivo por lotes"
Creé un acceso directo del primer archivo por lotes y edité sus propiedades para llamarlo de la siguiente manera.
cmd.exe /k "<SomePath>\<My Batch File>.bat" & pause
Qué quiero hacer Quiero que la ventana de la consola se abra después de que finalice la ejecución del archivo por lotes. Ahora simplemente se cierra, intentó jugar con las banderas de cmd, sin resultado.
Plataforma: Windows7
ACTUALIZACIÓN 1
Modificada la estructura, el ejemplo simple como este no funciona tan bien, solo un archivo por lotes, es decir, no hay el 2. "Otro archivo por lotes" El único archivo por lotes contiene algo como este
start /B /LOW /WAIT make package
cmd /K
ACTUALIZACIÓN 2
El mismo atajo que se invoca desde Explorer no cierra la ventana de la consola. Pero la ventana de la consola se cierra cuando se invoca el acceso directo desde el elemento anclado en la barra de tareas
¿Alguna idea de cómo mantener abierta la ventana de la consola?
fuente
My Batch File
que se quede?Respuestas:
Si eso es realmente todo lo que hace el archivo por lotes, elimine
cmd /K
y agreguePAUSE
.Luego, solo apunte su acceso directo a
"My Batch File.bat"
... no es necesario ejecutarloCMD /K
.ACTUALIZAR
Ah, algo de información nueva ... estás intentando hacerlo desde un atajo fijo en la barra de tareas.
Encontré esto, Agregar archivos por lotes a la barra de tareas de Windows 7 como el Inicio rápido de Vista / XP , con la parte relevante a continuación.
Para sus propósitos, puede:
Use
/C
y coloque unPAUSE
al final de su archivo por lotes.O
/K
y eliminarPAUSE
de su archivo por lotes.fuente
Aquí:
Mira lo que estás haciendo:
¿Como resolverlo? bueno, usando la sintaxis correcta, adjuntando el argumento para la nueva instancia de CMD:
fuente
Acabo de escribir la última línea como Pause , funcionó bien tanto con .bat como con .cmd. También mostrará un mensaje como 'Presione cualquier tecla para continuar'.
fuente
En la última línea del archivo por lotes que desea mantener abierto, coloque un
pause >nul
fuente
Para dejar la ventana de la consola abierta solo tiene que agregar a la última línea de comando en el archivo por lotes:
fuente
Puede poner un
pause
comando en la última línea de su archivo por lotes:Te dará algo como esto como salida:
Nota: El uso de @echo evita que se genere el comando antes de que se imprima.
fuente
fuente
poner al final reabrirá tu consola
fuente
Solo presiono enter y escribo Pausa y funciona bien
fuente