La aplicación que quiero iniciar es MongoDB. Si lo iniciara normalmente, se ve así:
No me gusta la cantidad de saltos de línea y tengo mucho espacio en la pantalla, por lo que me gustaría utilizar dicho espacio para deshacerme de los saltos de línea.
Puedo cambiar el tamaño de la ventana de la consola MODE
, así que escribí un archivo por lotes como este:
@ECHO OFF
MODE con:cols=140 lines=70
%~dp0mongodb\bin\mongod --dbpath %~dp0data --rest
Hasta aquí todo bien. Cuando inicio este archivo por lotes, obtengo una ventana más grande, según lo deseado.
Pero cuando presiono Ctrl+ Cpara salir de MongoDB, aparece el molesto mensaje:
Terminate batch job (Y/N)?
Lo cual es inútil, porque el comando del que acabo de salir fue el último comando en el trabajo por lotes de todos modos y no importa lo que responda, el resultado es el mismo.
Entonces, ¿cómo puedo obtener una ventana de consola más grande para la aplicación sin tener ese aviso cuando presiono Ctrl+ C?
fuente
Hasta donde entiendo la pregunta, desea que MongoDB tenga el tamaño especificado de la ventana de la consola y salga cuando presione Ctrl+ C. Entonces la respuesta es bastante simple: use el atajo para iniciarlo.
No tengo
mongod
ejecutable, así que lo usaríaperl.exe
como ejemplo. Cuando lo inicia desde el cuadro de diálogo Ejecutar ( Windows+ R), el tamaño de la ventana de la consola sería estándar 80 × 25 con un tamaño de búfer para 300 líneas.mongod
(operl
en mi caso).mongod
.Ahora, cuando hace clic en este acceso directo, la ventana de la consola tendrá el tamaño especificado. Cuando presiona Ctrl+ C, la aplicación se cierra y la ventana se cierra sin avisos adicionales.
También puede cambiar el diseño de la ventana después de iniciarla desde el cuadro de diálogo Ejecutar . Haga clic con el botón derecho en el título de la ventana de la consola y haga clic en Propiedades . Haga clic en la pestaña Diseño , ajuste el tamaño de la ventana y haga clic en Aceptar para cerrar las propiedades y aplicar los cambios de inmediato. (Si la ventana se inició desde el acceso directo, las propiedades del acceso directo se actualizan).
La próxima vez que inicie la misma aplicación, el tamaño de la ventana de la consola será mágicamente del mismo tamaño. (No lo he comprobado esta vez, pero solía funcionar).
fuente
mongod.exe
no es fija. Cambiará según la implementación de la aplicación. Es por eso que estaba buscando una solución a través de la consola directamente. Cuando pongo una ruta relativa en el destino o en los campos del directorio de trabajo para un acceso directo, no los aceptará :(start cmd /k
y pasa un parámetro adicional o establece una variable de entorno. La segunda instancia cambia el tamaño de la ventana de la consola y comienzamongod.exe
.Terminate batch job (Y/N)?
mensaje: \ En realidad, acabo de terminar de implementar una aplicación de contenedor para resolver esto por mí.La configuración de diseño de la consola predeterminada se encuentra aquí en el registro:
Puede modificar esta configuración y se aplicará a TODAS las ventanas de comandos que se inicien, independientemente de la ruta. Desafortunadamente, los valores en bruto no son amigables con los humanos.
Para configurarlos de la manera que desee, abra una ventana de cmd normal, luego edite la configuración a su gusto. Busque en el registro la ruta anterior y debería ver una subclave en "Consola" para cmd.exe. Exporte esa clave a un archivo, cambie la ruta a la anterior e importe, o simplemente copie manualmente los valores de uno a otro. Luego puede eliminar la entrada específica cmd.exe. Ahora, todas las ventanas de comandos que se abren usarán los valores predeterminados modificados.
Me ha resultado útil crear un par de archivos de entrada de registro con mis valores predeterminados estándar para que pueda abrirlos fácilmente en un nuevo servidor cuando RDP por primera vez. Hice ajustes preestablecidos para los dos tamaños que uso habitualmente.
Para 1024 x 768 (lo uso para servidores a los que normalmente se accede mediante una herramienta RDP de múltiples sesiones):
Para 1280 x 1024:
fuente
Ponga el
Start
comando delante de llamar a mongodb. Creo que eso debería solucionarlo.fuente
start /b
, dejará la ventana de la consola abierta después de presionar Ctrl + C.Si está contento de ejecutar un archivo por lotes junto con un par de pequeños programas de ayuda, publico una solución completa aquí:
¿Cómo puede un archivo por lotes ejecutar un programa y establecer la posición y el tamaño de la ventana?
Contenido como abajo. . . .
Este archivo por lotes de demostración ejecutará un programa de línea de comandos y establecerá la posición y el tamaño de la ventana de la consola del símbolo del sistema. El tema general de este lote es el mismo que las dos soluciones anteriores (en la página de desbordamiento de pila en el enlace de arriba), pero hubo algunos problemas y soluciones únicas para que esto funcione: esta es una ventana del símbolo del sistema alojada por 'CMD .EXE 'y no una ventana GUI como' EXPLORER.EXE '.
Lea todos los comentarios y la descripción en el archivo por lotes para obtener más información.
Herramientas utilizadas:
1. MonitorInfoView por Nir Sofer (41 KB)
2. NirCmd por Nir Sofer (43 KB)
3. GetPIDs por Daniel Scheibli (280 KB)
4. upx.exe --- es el programa de línea de comandos que utilizaremos para esta demostración; colóquelo en el mismo directorio que el archivo por lotes.
5. Un archivo por lotes --- ver más abajo
Reúna los cinco archivos en un directorio. Este es el archivo por lotes, listo para ejecutarse en cualquier sistema Windows.
Lo que hará este lote de demostración, además de presentarle una ventana de consola personalizada, se ejecutará
upx.exe
con los interruptores de la línea de comandos--best -v -o getpids-compressed.exe getpids.exe
. Vamos a comprimir nuestra herramienta 'GetPIDs' hasta 88 KB ........ Después de iniciar, haga doble clic en la barra de título de esta ventana de consola para ver un fenómeno interesante; ¡esta ventana de consola se comporta como una GUI!fuente