Regola le dimensioni del buffer e delle righe in PowerShell e CMD

Ultimo aggiornamento: 03/10/2025
Autore: Isaac
  • La dimensione visibile dipende dal buffer, dalla finestra e dalla sorgente; regolare prima il buffer/la finestra, poi la sorgente.
  • Utilizzare MODE CON e Proprietà per modifiche rapide o persistenti; il Registro consente di replicare le impostazioni.
  • In SAC il buffer è 80x24, pagina con | di più e incolla con MAIUSC+INSER per evitare di perdere l'output.
  • Windows 10 aggiunge il ridimensionamento tramite trascinamento, il riflusso del testo e l'opacità per lavorare in modo più confortevole.

Buffer e interruzione di riga in CMD e PowerShell

Quando si lavora con la console in Windows, la regolazione dimensione del buffer dello schermo e il numero di linee nella finestra può fare la differenza tra una sessione fluida e un'esperienza insopportabile. Inoltre, negli ambienti di amministrazione remota (come l'accesso seriale con SAC in Macchine virtuali), sapere come ritagliare o ingrandire la console e come impaginare correttamente l'output è fondamentale per evitare di perdere informazioni.

In questa guida vi racconto, con un approccio diretto e pieno di comandi, come impostare tutto da CMD y PowerShell: dal momento che il controlli di progettazione di base e colori, tramite i comandi MODE e COLOR, alla persistenza tramite il Registro di sistema, ai miglioramenti della console in Windows 10 e all'utilizzo in scenari impegnativi come VM di Azure con SACVedrai anche in cosa consiste l'API della console di Windows per il dimensionamento di buffer/finestre e come si integra con Windows. terminal.

Cos'è il buffer dello schermo e come si relaziona alla finestra

Il buffer dello schermo è una griglia di celle di caratteri (larghezza x altezza) e ogni console ha una finestra associata che visualizza una porzione rettangolare di tale buffer. la finestra non può superare le dimensioni del buffer o ciò che lo schermo consente in base alla dimensione del carattere. Pertanto, se la finestra è più grande del buffer, alcune operazioni falliranno.

Le funzioni API di Windows aiutano a comprendere e regolare questi limiti: Ottieni informazioni sul buffer dello schermo della console restituisce la dimensione del buffer, la posizione della finestra e la dimensione massima possibile dato buffer/sorgente/schermo, mentre OttieniDimensioneFinestraConsolePiùGrande calcola la finestra massima ignorando la dimensione del buffer. Per ingrandire o rimpicciolire, utilizzare Imposta dimensione buffer schermo console (modifica la dimensione del buffer) e SetConsoleWindowInfo (ridimensiona o riposiziona la finestra) rispettando le restrizioni menzionate.

Configurazione della finestra della console

Regola la dimensione del buffer e il numero di righe in CMD

Per una rapida regolazione dalla console stessa, il comando MODALITÀ CON È il classico: definisci colonne (COLS) e righe (LINES). Un esempio tipico sarebbe quello di impostare una console compatta con 70 colonne e 9 righe: MODE CON cols=70 lines=9Questo metodo influisce sul dimensione della finestra e del buffer in una sola opera teatrale.

Se preferisci un approccio persistente e granulare, usa Proprietà della console (cliccare con il tasto destro del mouse sul titolo > Proprietà). Nella scheda Opzioni, attivare Modifica rapida e inserimento per incollare e selezionare rapidamente il testo e impostare Cronologia comandi: Dimensione buffer su 999 e Numero di buffer su 5 (maggiore ritenzione della riga durante lo scorrimento). Nella scheda Layout, alzare il Altezza del buffer (ad esempio, 2500) e regolare le dimensioni e la posizione della finestra; se deselezioni l'opzione Lascia che il sistema posizioni la finestra, puoi impostare coordinate specifiche.

Per personalizzare la lettura e l'estetica, scegli il carattere e la dimensione nella scheda fonte, e definisce colori nella scheda Colori. Dalla riga di comando puoi anche cambiare i colori con COLOR e un attributo esadecimale a due cifre (sfondo e testo). Ad esempio: COLOR 0E utilizzare sfondo nero e testo giallo; è utile per il monitoraggio delle console in ambienti bui.

Se si desidera che determinate impostazioni vengano mantenute e applicate per impostazione predefinita, Windows le salva nel Registro di sistema. Le chiavi più rilevanti sono: HKCU\Console\ (predefinito) e HKCU\Console\%SystemRoot%_system32_cmd.exe (specifico di cmd.exe). È possibile esportare/importare valori come QuickEdit, Dimensione buffer schermo, DimensioneFinestra, Numero di buffer cronologici, PosizioneFinestra o Dimensione buffer cronologia con un file .REG per replicare le impostazioni senza riconfigurazione manuale.

Inoltre, l'avvio CMD supporta un Autorun per visualizzare messaggi o eseguire azioni ogni volta che viene aperto. In HKCU\Software\Microsoft\Command Processor crea (o modifica) il valore della stringa Autorun e assegnarlo ad esempio: ECHO "Bienvenido a la consola"È ideale per gli ambienti di supporto in cui è richiesto un saluto o un messaggio iniziale.

  Correzione: Windows Home non è riuscito a trovare un driver per l'adattatore comunitario

Un trucco utile è quello di impacchettare le impostazioni in un partitaCombina dimensioni e colore con qualcosa del genere: @ECHO OFF & mode con cols=46 lines=9 & COLOR 1F & ECHO Variables...In questo modo si ottengono finestre con dimensioni e colori predefiniti, perfette per gli script che non richiedono l'intero schermo.

Impostazioni con MODALITÀ e COLORE

PowerShell e dimensionamento: cosa puoi e cosa non puoi fare

PowerShell utilizza lo stesso motore della console (conhost.exe) rispetto a CMD, quindi eredita gran parte dello stesso comportamento: la dimensione visibile dipende dal buffer, dalla finestra e dalla dimensione del carattere. Se si modificano questi parametri tramite Proprietà, si otterrà lo stesso effetto in PowerShell.

Negli scenari di console seriale con SAC (Special Administration Console), la restrizione è maggiore: l'ambiente impone un buffer ridotto di 80×24 e senza scorrere indietro, quindi è consigliabile impaginare con | more nei comandi lunghi. Per avanzare, usa la barra spaziatrice (pagina) o Invio (riga). Anche le scorciatoie per incollare cambiano: sulla console seriale, incolla va con MAIUSC+INS.

Se di solito chiedi una scorciatoia da tastiera per cambiare la dimensione del carattere Al volo, il percorso generale è ancora Proprietà > Sorgente. Sulle console moderne, è possibile ridimensionare la finestra trascinandone gli angoli e l'output viene regolato con l'opzione Output del testo regolato in base alle dimensioni, ma nel materiale che trattiamo qui non è documentata alcuna scorciatoia da tastiera universale.

L'utilizzo di colori, altezza del buffer o linee da PowerShell funziona altrettanto bene che da CMD, perché sono proprietà della console. Per automatizzare le console con parametri visivi ricorrenti, crea profili o script che si applicano MODE y COLORE all'inizio della sessione oppure configurare le Proprietà della finestra associate a collegamenti specifici.

Utilizzo di SAC su Windows e Azure: limiti di dimensione e trucchi di paging

Nelle VM Windows (incluso Azure), SAC è presente da Windows Server 2003 ma è disabilitato. Si basa su sacdrv.sys, il servizio sacsvr e il processo sacsess.exeQuando si apre una finestra di comando in SAC, sacsess.exe lanza cmd.exe all'interno del sistema operativo in esecuzione e da lì puoi avviare PowerShell, gestire i servizi o toccare rete e firewall.

A causa di buffer limitato 80x24 senza scorrimento, ricordati di aggiungere | more a qualsiasi comando dettagliato. Per incollare nella console seriale: MAIUSC+INSNegli script lunghi, spesso è meglio scrivere i comandi in un editor locale e incollarli in SAC per evitare problemi di buffer corti.

Comandi di amministrazione utili in CMD all'interno di SAC: abilita RDP con reg add en HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server e nel percorso della policy, se applicabile; gestire il servizio Desktop remoto con sc (sc query termservice, sc config, sc start/stop); e toccare la rete con netsh (mostra interfacce, forza DHCP con netsh interface ip set address ... source=dhcp).

Per la diagnostica della connettività, ping y telnet (dopo aver abilitato il client con DISM) sono utili per un test rapido; nel moderno PowerShell è meglio Test-NetConnection (porte incluse). Il risoluzione DNS È verificato con nslookup o Resolve-DnsNameSe sospetti che il firewall sia attivo, puoi elencare regole specifiche o disabilitare temporaneamente i profili con netsh advfirewall set allprofiles state off e riattivare con ... on (non interrompere MPSSVC o BFE altrimenti perderai completamente la connettività).

Per gli account locali, in CMD: net user /add, net localgroup Administrators <usuario> /add, net user <usuario> /active:yesIn PowerShell: New-LocalUser, Add-LocalGroupMember y Enable-LocalUser (nelle versioni precedenti utilizza WMI). È utile conoscere il SID dell'account amministratore integrato (S-1-5-21-*-500).

  Scopri come correggere l'errore Urlmon.dll mancante o non rilevato

Registro eventi: in CMD, wevtutil qe consente di filtrare per livello, provider e intervallo di tempo con XPath (esempi con EventID=11 o audit 4624); in PowerShell, Get-WinEvent con -FilterXPath y -MaxEvents Per te è lo stesso con una formattazione migliore. Per elencare il software, wmic product Funziona (attenzione all'impatto); in PowerShell puoi anche controllare WMI e disinstallare con .Uninstall().

Integrità del sistema: sfc /scannow y dism /online /cleanup-image /scanhealth rilevare danni; permessi NTFS con icacls per esportare/salvare/ripristinare gli ACL e assumerne la proprietà con takeown se necessario. Pulizia di dispositivi PNP inesistenti con RUNDLL32.exe ... pnpclean.dll,RunDLL_PnpClean /Devices /Maxclean. Forza l'aggiornamento della policy con gpupdate /force. Ricomincia con shutdown /r /t 0 (o Restart-Computer con -Force).

Utilizzo di SAC e amministrazione remota

Ridimensiona per pixel vs. per colonne/righe

Un malinteso comune è voler riparare una finestra per 600 × 125 pixel esatto da PowerShell. La console classica è progettata per colonne/linee e l'equivalenza ai pixel dipende da carattere e la sua dimensioneQuindi il modo affidabile è: 1) scegliere carattere/dimensione (Proprietà > Carattere), 2) regolare il buffer/finestra con MODE CON oppure dalla scheda Layout e 3) regolare la posizione/finestra se necessario con Proprietà.

Se hai bisogno di precisione programmatica, l'API nativa offre Imposta dimensione buffer schermo console y SetConsoleWindowInfoTuttavia, è necessario tenere presente che la finestra non può superare il buffer e che la dimensione massima effettiva dipende dallo schermo e dalla sorgente; OttieniDimensioneFinestraConsolePiùGrande ti fornisce quel limite superiore senza considerare il buffer.

In Windows 10, puoi trascinare l'angolo per ridimensionare la finestra e con l'opzione di Output del testo regolato in base alle dimensioni Se abilitato, il testo viene mandato a capo per impedire lo scorrimento orizzontale nelle finestre più piccole. Questo comportamento è un vero toccasana quando si riorganizzano le console sui monitor NOC o schermi da parete.

Miglioramenti della console in Windows 10 che aiutano con le dimensioni

La console acquisisce scorciatoie Ctrl (copia/incolla come in applicazioni moderno), selezione estesa del testo da tastiera e supporto per selezione wrap tra le righe come faresti in un editor. Inoltre, c'è il filtraggio dei contenuti appunti per convertire virgolette curve o altri caratteri non supportati, evitando problemi durante l'incollaggio.

Un'altra novità: puoi ridimensionare trascinando la finestra; quando si esegue questa operazione, il sistema aggiorna automaticamente il buffer e le dimensioni della finestra. Per coloro che modificano molto, attivare Testo di output adattato quando ridimensionato È fondamentale perché riavvolge le linee lunghe riducendone le dimensioni.

Per motivi estetici o per sovrapposizione con altre app, la scheda Colori integra il controllo di opacità tra il 30% e il 100%. Al 30% la finestra diventa praticamente traslucida; è utile per tenere sotto controllo i registri senza coprire completamente gli strumenti di supporto.

Se vedi la scatola di Utilizzo della console legacy abilitato, deselezionalo per abilitare queste funzionalità moderne. Molte sono disattivate quando la modalità legacy è attiva, quindi spegnilo e riaprire la console.

Terminale Windows: backup delle impostazioni e dei profili

Il terminale Windows centralizza i profili CMD/PowerShell/WSL e le loro impostazioni risiedono in un settings.json en %LocalAppData%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalStatePrima di toccare le regolazioni fini, fare di riserva copiando il file in un percorso sicuro (ad esempio, D:\Backup) con: copy /y /v %LocalAppData%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json D:\Backup.

Questo JSON può essere modificato con Blocco note; lì puoi appuntare dimensioni dei caratteri, temi, opacità, colori e comportamenti di scorrimento per ogni profilo, offrendoti un modo coerente per aprire le console con l'aspetto e le dimensioni che desideri senza dover fare ogni volta clic manuali.

Operazioni di rete e firewall: comandi chiave per cui sarai grato sulle piccole console

Con le console di piccole dimensioni è meglio usare comandi concisi: Test-NetConnection (PowerShell) riprendere il ping e il test delle porte con -Port; in CMD, installa TelnetClient con DISM e porte di prova con telnet host 80Per DNS: Resolve-DnsName (PS) o nslookup (CMD). È più efficace nelle finestre con poche righe e combinato con | more nel SAC.

  Il modo corretto per scambiare frasi con emoji nei messaggi iPhone

Firewall: elenca le regole per porta con Get-NetFirewallPortFilter in PowerShell (o nell'oggetto COM hnetcfg.fwpolicy2 sui sistemi più vecchi) e controlla i profili con Set-NetFirewallProfileNel CMD, netsh advfirewall è ancora valido. Evitare di fermarsi MPSSVC o BFE, altrimenti manderai in tilt l'intera rete.

Servizi, registrazione e sistema: elementi essenziali per sessioni remote

Per i Servizi Desktop remoto, PowerShell con WMI (Get-WmiObject Win32_Service) ti mostra il conto casa, tipo di Boot, percorso e PID, nonché lo stato. Modificare il tipo di avvio con Set-Service e dipendenze da HKLM\SYSTEM\CurrentControlSet\Services\TermService. Avvia/arresta con Start-Service/Stop-Service.

Nelle situazioni del Registro di sistema, PowerShell gestisce le chiavi con Get-ItemProperty y Set-ItemProperty per controllare o abilitare RDP. Se un criterio di gruppo impone valori in HKLM\Software\Policies\Microsoft\Windows NT\Terminal Services, ricorda che la tua modifica potrebbe essere sovrascritta dal prossimo aggiornamento della policy.

Diagnostica di sistema: systeminfo y wmic os Ti forniscono versione, build, data di installazione, fuso orario e ultimo avvio. Per modalità sicura, bcdedit /enum e filtra per avvio sicuro. Riavvio immediato con shutdown /r /t 0 o Restart-Computer se sei già in PowerShell.

Paginazione, copia, spostamento e ricerca di contenuti: produttività di PowerShell

Le console piccole ti costringono a digitare velocemente. Ottieni-contenuto con parametri quali -TotalCount o -Tail ti aiuta a vedere l'inizio o la fine dei file lunghi. Per concatenare senza loop, usa gc *.txt -Exclude granben.txt > granben.txt, evitando di includere il file di output nell'input stesso.

La canalizzazione (|) moltiplica la produttività: gc archivo.txt | measure -Line -Word -Character conta righe, parole e caratteri. Seleziona-stringa (sls) cerca modelli in più file con caratteri jolly e fornisce il contesto senza aprirli singolarmente.

Metadati dell'istanza in Azure per convalidare la connettività

Su una macchina virtuale di Azure, controlla Servizio metadati istanza Dal guest, testare la connettività ai servizi di Azure. In PowerShell: $im = Invoke-RestMethod -Headers @{'metadata'='true'} -Uri http://169.254.169.254/metadata/instance?api-version=2017-08-01 -Method GET poi $im | ConvertTo-Json da vedere Tipo di sistema operativo, Dimensione macchina virtuale, vmId, Nome, resourceGroupName o IP privati/pubblici. Se questa risposta, l'ospite arriva all'host Azure.

Ricorda che le NIC di Azure devono utilizzare DHCP all'interno del sistema operativo guest, anche con un IP statico assegnato in Azure. Impostare l'adattatore con Set-NetIPInterface -DHCP Enabled o con WMI nelle versioni precedenti.

Per controllare gli adattatori: Get-NetAdapter (o WMI) visualizza lo stato, la descrizione e MACAbilita con Enable-NetAdapter o il cosiddetto WMI .Enable()Queste query sono compatte e adatte alle console short-line.

Infine, ricorda che nelle sessioni SAC con buffer limitato, la rimozione PSReadLine con Remove-Module PSReadLine Evita caratteri aggiunti indesiderati quando incolli blocchi di testo; controlla prima con Get-Module PSReadLine.

Con tutto quanto sopra puoi dimensionare correttamente la tua console (per buffer e finestra), mantenere l'output leggibile ed eseguire l'amministrazione e la diagnostica sia localmente che in remoto con SAC, senza perdere dati.

Gestire le dimensioni del buffer, della finestra e del flusso di output non è solo una questione di praticità: consente di lavorare più velocemente, posizionare le finestre su monitor di grandi dimensioni e tenere sotto controllo le sessioni di supporto anche quando l'ambiente impone limiti 80x24. MODALITÀ CON, Proprietà, Registro, API della console, miglioramenti di Windows 10 e la disciplina della paginazione con | more, hai tutto ciò che serve affinché CMD e PowerShell si adattino a te e non il contrario.