commands comandos basicos cmd

comandos - ¿Por qué Windows cmd.exe se limita a 80 caracteres de ancho?



windows command reference (13)

Como han señalado otros, no está limitado a 80 caracteres de ancho, pero mi suposición de por qué es un valor predeterminado de 80 caracteres sería que quedará de los días de DOS donde las pantallas CRT tenían 80 caracteres de ancho.

Ver también

Me encanta estirar mi terminal en Unix. ¿Cuál es la historia o el motivo detrás de la línea de comandos de Windows Lame?


Como se desplazará de izquierda a derecha y hacia arriba y hacia abajo, lo primero que hago en un sistema es definir mi ancho como 180 y guardarlo. Por lo general, eso es suficiente para que los rastros de pila no tengan que envolverse en su mayor parte, pero no tanto que estés perdiendo un montón de espacio.

Mientras lo hace, configure el tamaño vertical (buffer de desplazamiento) en todos los 9. Estarás contento de haberlo hecho algún día.


Debido a que MS valora la "compatibilidad con versiones anteriores" sobre muchas cosas, en este caso sospecho que es una creencia errónea de que de alguna manera desconcertará a las personas si no tienen su ventana estándar 80 amplia.

Por supuesto, podría ser que estuviera programado para un ancho fijo de 80 caracteres cuando era prácticamente universal, y las configuraciones de propiedades adicionales eran un poco piratas.


Debido a que la mejora de la usabilidad y la funcionalidad de todo lo que requiera el desarrollo de Unix / GNU debilitará a Windows como una plataforma comercial para los socios de Microsoft. Evitar esto significa que los productos de otras grandes empresas para desarrolladores, como terminales mejorados, y otros productos de terceros en general, como procesadores de texto, reproductores de video, etc. no compiten con el software Unix / GNU existente. Sin esto, Windows no sería una plataforma rentable, y Microsoft perdería su monopolio de escritorio.

Esta es la razón por la que el terminal apesta, no hay API POSIX, no hay compatibilidad con C99 en MSVC y la lista continúa. Para aclarar, las tecnologías y el desarrollo comunes de Unix / GNU son intencionalmente no compatibles, de modo que las grandes empresas de software comercial no tienen que competir con ellos.


ES LIMITADO Echale un vistazo. (Me refiero al tamaño de la ventana, NO al buffer)

Descubrirá que el ancho máximo que puede establecer es limitado, pero varía de acuerdo con la resolución de su pantalla. Si su resolución está configurada en 1024 x 768, encontrará que solo puede obtener 128 en el ancho del indicador de comando. 128/1024 = .125

encontrará que esa proporción es constante en todos los ámbitos. Tengo una sesión de RDP que se ejecuta en 2000x768 (en dos de mis tres monitores) y obtengo un ancho máximo de 250.

Ahora, eso resulta ser un poco más grande que el tamaño del monitor de actaul, pero tengo tres monitores que ejecutan escritorios individuales. (así que en esencia, 3 resoluciones de 1024x768) y si quiero hacer algo TAN SENCILLO como estirar un símbolo del sistema a través de 2 o más monitores, NO PUEDO. (Quiero cuando hago cosas con rutas muy largas (diruse.exe / etc.) ...

-do


No es limitado

  1. Ejecute cmd.exe
  2. Haga clic en el ícono en la esquina superior izquierda de la pantalla.
  3. Seleccionar propiedades
  4. Seleccione la pestaña Diseño.
  5. Establezca el búfer y el ancho de la ventana en lo que quiera.
  6. Haga clic en Aceptar
  7. Seleccione Guardar propiedades para futuro ...
  8. Haga clic en Aceptar.

Es posible que desee ver la Console . Es una aplicación de código abierto que te permite ejecutar varios shells en un entorno con pestañas. También puede establecer la transparencia alfa de las conchas.


No lo es Puede hacer clic con el botón derecho en la barra de título, seleccionar propiedades y, en la pestaña "Diseño", modificar el tamaño del búfer de la pantalla (ancho de línea y desplazamiento) y el tamaño de la ventana (tamaño de la vista). Si inició cmd desde un acceso directo, puede guardar esta configuración para sesiones futuras.


No sé la historia detrás de esto, pero este artículo de la lista de deseos del autor de PuTTy es una publicación interesante que explica los obstáculos técnicos involucrados con cualquier tipo de reemplazo de cmd.exe que no sea cojo:

http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/win-command-prompt.html

No mencionas que estás buscando un reemplazo, pero si es así, también puedes probar algunos de los reemplazos de cmd.exe como Console o Take Command de JP Software, etc. También he tenido algunas buenas experiencias con PuTTy- Cyg que le permite usar PuTTy como shell de cygwin.


RE: Porque MS valora la "compatibilidad con versiones anteriores" sobre muchas cosas, y en este caso sospecho que es una creencia errónea de que de alguna manera pondrá nerviosa a las personas si no tienen su ventana estándar 80 amplia.

La compatibilidad hacia atrás funciona bastante terriblemente, sin embargo. No creo que Microsoft haya sido muy cuidadoso con su implementación, y creo que Microsoft es el póster para asegurarse de que las versiones más nuevas no funcionen en versiones anteriores. Mucho no funciona correctamente bajo COMMAND.COM, que sabotea considerablemente la utilidad que posee, sin mencionar que debe ingresar DOSONLY para que algunos programas se ejecuten correctamente, además de que Microsoft ha estado eliminando comandos útiles. Honestamente, no puedo imaginar que Microsoft tenga "compatibilidad hacia atrás" en gran estima.

Además, creo que la verdadera razón por la cual la longitud de línea está en un estándar de 80 columnas es porque la mayoría de los programas de línea de comandos, etc. operan bajo el supuesto de que el usuario tiene un límite de 80 columnas, lo que significa que aumentar el ancho puede causar errores de formato o peor aún romper programas por completo.

Como mencionó jmucchiello, MODE funcionará bien para cambiar el tamaño de la ventana si así lo deseas.

Configures system devices. Serial port: MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s] [to=on|off] [xon=on|off] [odsr=on|off] [octs=on|off] [dtr=on|off|hs] [rts=on|off|hs|tg] [idsr=on|off] Device Status: MODE [device] [/STATUS] Redirect printing: MODE LPTn[:]=COMm[:] Select code page: MODE CON[:] CP SELECT=yyy Code page status: MODE CON[:] CP [/STATUS] Display mode: MODE CON[:] [COLS=c] [LINES=n] Typematic rate: MODE CON[:] [RATE=r DELAY=d]

Sin embargo, si tiene habilitado DOSONLY en su CONFIG.NT, cuando abra COMMAND.COM, heredará una resolución de línea estilo DOS adecuada de cmd.exe, pero no podrá invocar MODE desde COMMAND.COM. Si desea cambiar el tamaño dentro de COMMAND.COM, tendrá que usar instrucciones de ensamblaje de 16 bits, como las siguientes:

Resolución de línea de 80x50 (sin framebuffer, no SVGA, prácticamente universalmente compatible).

DEBUG A100 MOV AX,1112 INT 10 INT 20 G Q

Resolución de línea de 132x60 (sin framebuffer, requiere SVGA. No funciona en tarjetas gfx de ATI, generalmente funciona en tarjetas gfx de nVidia, un problema siempre funciona en tarjetas gfx integradas de Intel.)

DEBUG A100 MOV AX,4F02 MOV BX,010C INT 10 INT 20

G Q

If you enter this on your COMMAND.COM, it will give you the specified resolution. (Warning: If your monitor is ancient enough not to support the mode, you might wind up destroying it. Side-note: If you can run Windows, your monitor should be fine. Disclaimer: Emphasis on should, and you''ve been warned, so it''s not my problem if your monitor fries. ;-) However, if you use this without DOSONLY enabled, COMMAND.COM will resize back to its previous size as soon as the application (in this case, unless you wrote it to a file and executed that, DEBUG) exits.

Alternatively, you could use FreeDOS''s MODE.COM, which will run properly under COMMAND.COM set to DOSONLY. You can either pull it from the disk image at the official website (freedos.org) or get it at http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/mode/2005/.

New FreeDOS MODE by Eric Auer 2003-2005. License: GPL. (version 12may2005) MODE [device] [/STA[TUS]] (show status of one or all devices) MODE LPTn[:] cols[,[lines][,retry]] (cols or cpi, 6/8 lpi, retry p or n) MODE LPTn[:] [COLS=...] [LINES=...] [RETRY=...] (retry: p infinite / n none) MODE LPTn[:]=[COMn[:]|NUL] (redirect printer data to serial port or NUL) MODE COMn[:] baud,parity,data,stop,retry (empty values allowed) MODE COMn[:] [BAUD[HARD]=...] [PARITY=...] [DATA=...] [STOP=...] [RETRY=...] Baud can be abbreviated to unique prefix, parity can be o/e/n/s/m, the latter 2 mean space/mark, data can be 5..8, stop 1..2. Retry is IGNORED! PLANNED: Retry b/e/r -> busy/error/ready if busy, p/n infinite/no retry. MODE CON[:] [CP|CODEPAGE] [/STA[TUS]] (FreeDOS DISPLAY must be loaded) MODE CON[:] [CP|CODEPAGE] REF[RESH] (needs DISPLAY) MODE CON[:] [CP|CODEPAGE] SEL[ECT]=number (needs DISPLAY) MODE CON[:] [CP|CODEPAGE] PREP[ARE]=((codepage) filename) (needs DISPLAY) Use PREP=((,cp2,cp3,,cp5) ...) to prep codepages in other buffers. MODE [40|80|BW40|BW80|CO40|CO80|MONO][,rows] (rows can be 25, 28, 43 or 50) Use 8, 14 or 16 as ''rows'' value if you only want to change the font. MODE [CO40|CO80|...],[R|L][,T] (shift CGA left/right, T is interactive mode) MODE CON[:] [NUMLOCK|CAPSLOCK|SCROLLLOCK|SWITCHAR]=value Value can be: + or - for the locks or a character for switchar. MODE CON[:] [COLS=...] [LINES=...] (possible values depend on your hardware) MODE CON[:] [RATE=...] [DELAY=...] (default rate 20, default delay 1) Rate can be 1..32 for 2..30 char/sec, delay can be 1..4 for 1/4..4/4 sec.

Si ingresa esto en su COMMAND.COM, le dará la resolución especificada. (Advertencia: si su monitor es lo suficientemente antiguo como para no admitir el modo, puede terminar destruyéndolo. Nota al margen: si puede ejecutar Windows, su monitor debería estar bien. Descargo de responsabilidad: El énfasis en debería, y usted ha sido advertido , así que no es mi problema si su monitor fríe; ;-) Sin embargo, si usa esto sin DOSONLY habilitado, COMMAND.COM se redimensionará a su tamaño anterior tan pronto como la aplicación (en este caso, a menos que lo haya escrito a un archivo y ejecutado que, DEPURACIÓN) sale.

Alternativamente, puede usar FreeDOS''s MODE.COM, que se ejecutará correctamente en COMMAND.COM configurado en DOSONLY. Puede extraerlo de la imagen del disco en el sitio web oficial (freedos.org) o puede obtenerlo en http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/mode/2005/ .

wmic

Por las mismas razones que con el código ASM que proporcioné, a menos que lo ejecute en COMMAND.COM con DOSONLY agregado a su archivo CONFIG.NT, la ventana se recuperará inmediatamente a su tamaño anterior una vez que se cierre MODE.COM.

Por último, como han indicado otros, también es posible modificar estos ajustes simplemente haciendo clic con el botón derecho en la barra de título del símbolo del sistema y modificando Propiedades -> Diseño. De forma similar, puede establecer la resolución de los accesos directos a CMD.EXE y a los archivos por lotes (haga clic con el botón derecho en el acceso directo -> Propiedades -> Diseño). Esto solo funciona para CMD.EXE, sin embargo, no COMMAND.COM.


Si bien el ancho no está limitado como muestran otras respuestas, siempre me ha parecido extraño que uno pueda arrastrar y cambiar el tamaño de la altura con el mouse, pero no el ancho .

Creo que el ancho predeterminado de 80 caracteres está relacionado con la compatibilidad con programas antiguos que suponen que el terminal no tendrá más de 80 caracteres de ancho. Sin embargo, no creo que esta haya sido una razón realista durante una década más o menos.


Si tienes mouse-fobia también puedes escribir esto dentro de la ventana de cmd:

mode <cols>,<lines> mode 80,25 mode 120,50 etc.


También puede usar una aplicación de terminal diferente, como Console , que le permite cambiar el tamaño de la ventana todo lo que desee (entre otras cosas, como la transparencia y la capacidad de usar cualquier fuente que desee). Es una gran aplicación, la he cambiado y ahora solo uso cmd.exe cuando tengo que hacerlo.


Un comando simple para arreglar el tamaño de la ventana que utilizo todo el tiempo:

wmic

Abrirá la línea de comandos del Instrumental de administración de Windows y eliminará los límites de tamaño. Luego solo cierra con Ctrl + C.