Ajustar el tamaño del búfer y las líneas en PowerShell y CMD

Última actualización: 03/10/2025
Autor: Isaac
  • El tamaño visible depende del búfer, la ventana y la fuente; ajusta primero búfer/ventana y luego fuente.
  • Usa MODE CON y Propiedades para cambios rápidos o persistentes; Registro permite replicar ajustes.
  • En SAC el búfer es 80x24, pagina con | more y pega con SHIFT+INSERT para no perder salida.
  • Windows 10 añade redimensionado por arrastre, reflujo de texto y opacidad para trabajar cómodo.

Ajuste de búfer y líneas en CMD y PowerShell

Cuando trabajas con la consola en Windows, ajustar el tamaño del búfer de pantalla y el número de líneas de la ventana puede marcar la diferencia entre una sesión fluida y una experiencia insufrible. Además, en entornos de administración remota (como el acceso serie con SAC en máquinas virtuales), saber recortar o ampliar la consola y paginar la salida correctamente es crítico para no perder información.

En esta guía te cuento, con un enfoque directo y repleto de comandos, cómo configurar todo desde CMD y PowerShell: desde los controles básicos de diseño y colores, pasando por los comandos MODE y COLOR, hasta la persistencia mediante Registro, las mejoras de la consola en Windows 10 y el uso en escenarios exigentes como Azure VM con SAC. También verás en qué consiste la API de consola de Windows para dimensionar búferes/ventanas y cómo encaja todo con Windows Terminal.

Qué es el búfer de pantalla y cómo se relaciona con la ventana

El búfer de pantalla es una cuadrícula de celdas de caracteres (ancho x alto) y cada consola tiene asociada una ventana que muestra una porción rectangular de ese búfer. La ventana no puede exceder las dimensiones del búfer ni lo que permita la pantalla según el tamaño de la fuente. Por eso, si la ventana es más grande que el búfer, ciertas operaciones fallarán.

Las funciones de la API de Windows ayudan a conocer y ajustar estos límites: GetConsoleScreenBufferInfo devuelve tamaño del búfer, posición de la ventana y tamaño máximo posible según búfer/fuente/pantalla, mientras que GetLargestConsoleWindowSize calcula la máxima ventana ignorando el tamaño del búfer. Para ampliar o reducir, se usan SetConsoleScreenBufferSize (cambia el tamaño del búfer) y SetConsoleWindowInfo (redimensiona o recoloca la ventana) respetando las restricciones comentadas.

Configuración de la ventana de consola

Ajustar tamaño del búfer y número de líneas en CMD

Para un ajuste rápido desde la propia consola, el comando MODE CON es el clásico: define columnas (COLS) y líneas (LINES). Un ejemplo típico sería establecer una consola compacta con 70 columnas y 9 líneas: MODE CON cols=70 lines=9. Este método afecta al tamaño de la ventana y del búfer en una jugada.

Si prefieres un enfoque persistente y granular, usa las Propiedades de la consola (clic derecho en el título > Propiedades). En la pestaña Opciones, activa Edición rápida e Inserción para pegar y seleccionar texto de forma ágil, y ajusta el Historial de comandos: Tamaño del búfer a 999 y Número de búferes a 5 (más retención de líneas durante el scroll). En la pestaña Diseño, sube el Alto del búfer (por ejemplo, 2500), y ajusta el tamaño y la posición de la ventana; si desmarcas que el sistema posicione la ventana, podrás fijar coordenadas concretas.

Para personalizar lectura y estética, elige fuente y tamaño en la pestaña Fuente, y define colores en la pestaña Colores. Desde línea de comandos también puedes cambiar colores con COLOR y un atributo hex de dos dígitos (fondo y texto). Por ejemplo: COLOR 0E usa fondo negro y texto amarillo; resulta útil para consolas de monitorización en ambientes oscuros.

Si quieres que ciertos ajustes persistan y se apliquen por defecto, Windows los guarda en Registro. Las claves más relevantes: HKCU\Console\ (predeterminados) y HKCU\Console\%SystemRoot%_system32_cmd.exe (específicos de cmd.exe). Puedes exportar/importar valores como QuickEdit, ScreenBufferSize, WindowSize, NumberOfHistoryBuffers, WindowPosition o HistoryBufferSize con un .REG para replicar tu configuración sin reconfigurar a mano.

Además, el inicio de CMD admite un Autorun para mostrar mensajes o ejecutar acciones cada vez que se abre. En HKCU\Software\Microsoft\Command Processor crea (o edita) el valor de cadena Autorun y asígnale por ejemplo: ECHO "Bienvenido a la consola". Es ideal para entornos de soporte donde se requiere un saludo o una pauta inicial.

  Cómo acelerar la transferencia de archivos en Windows 11: trucos y ajustes clave

Un truco práctico es empaquetar ajustes en un batch. Combina tamaño y color con algo así: @ECHO OFF & mode con cols=46 lines=9 & COLOR 1F & ECHO Variables.... Así dispones de ventanas con dimensiones y colores predefinidos, perfectas para scripts que no necesitan toda la pantalla.

Ajustes con MODE y COLOR

PowerShell y el dimensionado: qué puedes y qué no

PowerShell usa el mismo motor de consola (conhost.exe) que CMD, así que hereda la mayoría de comportamientos: el tamaño visible depende del búfer, de la ventana y del tamaño de fuente. Si ajustas estos parámetros por Propiedades, verás el mismo efecto en PowerShell.

En escenarios de consola serie con SAC (Special Administration Console), la restricción es mayor: el entorno impone un búfer reducido de 80×24 y sin scroll hacia atrás, por lo que conviene paginar con | more en comandos largos. Para avanzar, usa barra espaciadora (página) o Enter (línea). Pegar atajos también cambia: en la consola serie, el paste va con SHIFT+INSERT.

Si sueles pedir un atajo de teclado para cambiar el tamaño de fuente al vuelo, la vía general sigue siendo Propiedades > Fuente. En las consolas modernas puedes redimensionar la ventana arrastrando esquinas y la salida se ajusta con la opción de Salida de texto ajustado en el cambio de tamaño, pero no hay un atajo universal de teclado documentado en el material que manejamos aquí.

Usar colores, alto del búfer o líneas desde PowerShell funciona tanto como desde CMD, porque son propiedades de la consola. Para automatizar consolas con parámetros visuales recurrentes, crea perfiles o scripts que apliquen MODE y COLOR al inicio de la sesión, o configura las Propiedades de la ventana ancladas a accesos directos específicos.

Uso de SAC en Windows y Azure: límites de tamaño y trucos de paginación

En VM Windows (Azure incluidas), SAC está presente desde Windows Server 2003 pero viene deshabilitado. Se apoya en sacdrv.sys, el servicio sacsvr y el proceso sacsess.exe. Al abrir una ventana de comandos en SAC, sacsess.exe lanza cmd.exe dentro del SO en ejecución, y desde ahí puedes iniciar PowerShell, administrar servicios o tocar red y firewall.

Debido al limitado búfer de 80×24 sin scroll, recuerda agregar | more a cualquier comando verboso. Para pegar en la consola serie: SHIFT+INSERT. En scripts largos, a menudo es mejor redactar los comandos en un editor local y pegarlos en SAC para evitar líos con el buffer corto.

Comandos de administración útiles en CMD dentro de SAC: habilitar RDP con reg add en HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server y en la ruta de políticas si aplica; gestionar el servicio de Escritorio remoto con sc (sc query termservice, sc config, sc start/stop); y tocar red con netsh (mostrar interfaces, forzar DHCP con netsh interface ip set address ... source=dhcp).

Para diagnóstico de conectividad, ping y telnet (tras habilitar el cliente con DISM) sirven para una prueba rápida; en PowerShell moderno es mejor Test-NetConnection (puertos incluidos). La resolución DNS se verifica con nslookup o Resolve-DnsName. Si sospechas del Firewall, puedes listar reglas concretas o deshabilitar perfiles temporalmente con netsh advfirewall set allprofiles state off y reactivar con ... on (no detengas MPSSVC ni BFE o perderás conectividad por completo).

Para cuentas locales, en CMD: net user /add, net localgroup Administrators <usuario> /add, net user <usuario> /active:yes. En PowerShell: New-LocalUser, Add-LocalGroupMember y Enable-LocalUser (en versiones anteriores usa WMI). Es útil conocer el SID de la cuenta administrador integrada (S-1-5-21-*-500).

  Change Home windows 10 Password Utilizing Command Immediate

Registro de eventos: en CMD, wevtutil qe permite filtrar por nivel, proveedor e intervalo temporal con XPath (ejemplos con EventID=11 o auditoría 4624); en PowerShell, Get-WinEvent con -FilterXPath y -MaxEvents te da lo mismo con mejor formateo. Para listar software, wmic product funciona (ojo a impacto); en PowerShell también puedes consultar WMI y desinstalar con .Uninstall().

Integridad del sistema: sfc /scannow y dism /online /cleanup-image /scanhealth detectan daños; permisos NTFS con icacls para exportar/guardar/restaurar ACLs, y tomar propiedad con takeown si es necesario. Limpieza de dispositivos PNP inexistentes con RUNDLL32.exe ... pnpclean.dll,RunDLL_PnpClean /Devices /Maxclean. Forzar actualización de directiva con gpupdate /force. Reinicio con shutdown /r /t 0 (o Restart-Computer con -Force).

Uso de SAC y administración remota

Redimensionar por píxeles vs. por columnas/líneas

Un malentendido habitual es querer fijar una ventana a 600×125 píxeles exactos desde PowerShell. La consola clásica se diseña por columnas/líneas y la equivalencia a píxeles depende de la fuente y su tamaño. Por eso, la manera fiable es: 1) elige fuente/tamaño (Propiedades > Fuente), 2) ajusta el búfer/ventana con MODE CON o desde la pestaña Diseño, y 3) ajusta si es preciso la posición/ventana con Propiedades.

Si necesitas precisión programática, la API nativa ofrece SetConsoleScreenBufferSize y SetConsoleWindowInfo. No obstante, tendrás que tener en cuenta que la ventana no puede superar el búfer y que el tamaño máximo real depende de la pantalla y la fuente; GetLargestConsoleWindowSize te da esa cota superior sin considerar el búfer.

En Windows 10, puedes arrastrar la esquina para cambiar el tamaño de la ventana y, con la opción de Salida de texto ajustado en el cambio de tamaño activada, el texto se reenvuelve para evitar horizontal scroll en ventanas más pequeñas. Este comportamiento es “un salvavidas” cuando reacomodas consolas en monitores de NOC o pantallas de pared.

Mejoras de la consola en Windows 10 que te ayudan con el tamaño

La consola gana atajos de Ctrl (copiar/pegar como en apps modernas), selección de texto extendida por teclado y soporte para envolver selección entre líneas como harías en un editor. Además, existe un filtrado del contenido del portapapeles para convertir comillas curvas u otros caracteres no admitidos, evitando líos al pegar.

Otra novedad: puedes redimensionar arrastrando la ventana; al hacerlo, el sistema actualiza automáticamente las dimensiones de búfer y ventana. Para quien edita mucho, activar Salida de texto ajustado al redimensionar es clave, ya que reenvuelve líneas largas al reducir tamaño.

Por estética o superposición con otras apps, la pestaña Colores integra el control de Opacidad entre 30% y 100%. Al 30% la ventana queda prácticamente translúcida; es útil para monitorizar logs sin tapar por completo herramientas de soporte.

Si ves la casilla de Usar la consola heredada activada, desmárcala para habilitar estas funciones modernas. Muchas aparecen en gris mientras la modalidad legada está encendida, así que desactívala y vuelve a abrir la consola.

Windows Terminal: respaldo de configuración y perfiles

Windows Terminal centraliza perfiles de CMD/PowerShell/WSL y su configuración vive en un settings.json en %LocalAppData%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState. Antes de tocar ajustes finos, haz backup copiando el archivo a una ruta segura (por ejemplo, D:\Backup) con: copy /y /v %LocalAppData%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json D:\Backup.

Este JSON se puede editar con Notepad; ahí puedes fijar tamaños de fuente, temas, opacidad, colores y comportamientos de scroll para cada perfil, lo que te da una forma consistente de abrir consolas con el aspecto y tamaño deseados sin depender de clics manuales cada vez.

Operaciones de red y firewall: comandos clave que agradecerás en consolas pequeñas

Con consolas reducidas, conviene usar comandos concisos: Test-NetConnection (PowerShell) resume ping y prueba de puerto con -Port; en CMD, instala TelnetClient con DISM y prueba puertos con telnet host 80. Para DNS: Resolve-DnsName (PS) o nslookup (CMD). Resulta más eficaz en ventanas de pocas líneas y combinado con | more en SAC.

  Los siete mejores programas de vectorización para artistas y diseñadores

Firewall: lista reglas por puerto con Get-NetFirewallPortFilter en PowerShell (o el objeto COM hnetcfg.fwpolicy2 en sistemas antiguos) y controla perfiles con Set-NetFirewallProfile. En CMD, netsh advfirewall sigue siendo válido. Evita detener MPSSVC o BFE, o derribarás toda la red.

Servicios, Registro y sistema: lo esencial para sesiones remotas

Para servicios de Escritorio remoto, PowerShell con WMI (Get-WmiObject Win32_Service) te muestra la cuenta de inicio, tipo de arranque, ruta y PID, además del estado. Cambia el tipo de inicio con Set-Service y dependencias desde HKLM\SYSTEM\CurrentControlSet\Services\TermService. Inicia/detén con Start-Service/Stop-Service.

En situaciones de Registro, PowerShell maneja claves con Get-ItemProperty y Set-ItemProperty para comprobar o habilitar RDP. Si una directiva de grupo impone valores en HKLM\Software\Policies\Microsoft\Windows NT\Terminal Services, recuerda que puede sobrescribir tu cambio en la siguiente actualización de políticas.

Diagnóstico del sistema: systeminfo y wmic os te dan versión, compilación, fecha de instalación, zona horaria y último arranque. Para modo seguro, bcdedit /enum y filtra por safeboot. Reinicio inmediato con shutdown /r /t 0 o Restart-Computer si estás ya en PowerShell.

Paginar, copiar, mover y buscar contenido: productividad en PowerShell

Consolas pequeñas obligan a escribir sorbos rápidos. Get-Content con parámetros como -TotalCount o -Tail ayuda a ver el principio o final de archivos largos. Para concatenar sin caer en bucles, usa gc *.txt -Exclude granben.txt > granben.txt, evitando incluir el archivo de salida en la propia entrada.

La canalización (|) multiplica productividad: gc archivo.txt | measure -Line -Word -Character cuenta líneas, palabras y caracteres. Select-String (sls) busca patrones en múltiples archivos con comodines y te da contexto sin abrirlos uno a uno.

Metadatos de instancia en Azure para validar conectividad

En una Azure VM, consultar el Instance Metadata Service desde el invitado prueba conectividad hacia servicios de Azure. En PowerShell: $im = Invoke-RestMethod -Headers @{'metadata'='true'} -Uri http://169.254.169.254/metadata/instance?api-version=2017-08-01 -Method GET y luego $im | ConvertTo-Json para ver osType, vmSize, vmId, name, resourceGroupName o IPs privada/pública. Si esto responde, el invitado llega al host de Azure.

Recuerda que las NIC de Azure deben usar DHCP dentro del SO invitado, incluso con IP estática asignada en Azure. Ajusta el adaptador con Set-NetIPInterface -DHCP Enabled o con WMI en versiones antiguas.

Para revisar adaptadores: Get-NetAdapter (o WMI) muestra estado, descripción y MAC. Habilita con Enable-NetAdapter o la llamada WMI .Enable(). Estas consultas son compactas y amigables con consolas de pocas líneas.

Como colofón, recuerda que en sesiones SAC con buffer limitado, quitar PSReadLine con Remove-Module PSReadLine evita caracteres añadidos indeseados al pegar bloques de texto; comprueba antes con Get-Module PSReadLine.

Con todo lo anterior puedes dimensionar correctamente tu consola (por búfer y ventana), mantener la salida legible, y ejecutar administración y diagnóstico tanto en local como en remoto con SAC, sin perderte datos.

Dominar el tamaño del búfer, la ventana y el flujo de salida no es solo comodidad: te permite trabajar más rápido, posicionar ventanas en monitores grandes, y mantener sesiones de soporte bajo control aunque el entorno imponga límites de 80×24. Entre MODE CON, Propiedades, Registro, API de consola, mejoras de Windows 10 y la disciplina de paginar con | more, lo tienes todo para que CMD y PowerShell se ajusten a ti y no al revés.