- Den synliga storleken beror på bufferten, fönstret och källan; justera bufferten/fönstret först, sedan källan.
- Använd MODE CON och Egenskaper för snabba eller bestående ändringar; registret låter dig replikera inställningar.
- I SAC är bufferten 80x24, sidanvänd |more och klistra in med SHIFT+INSERT för att undvika att förlora utdata.
- Windows 10 lägger till dra-storleksändring, textomflöde och opacitet för bekvämare arbete.
När du arbetar med konsolen i Windows, justerar du skärmbuffertstorlek och antalet rader i fönstret kan göra skillnaden mellan en smidig session och en outhärdlig upplevelse. Dessutom, i fjärradministrationsmiljöer (som seriell åtkomst med SAC i virtuella maskiner), är det avgörande att veta hur man beskär eller zoomar konsolen och paginerar utdata korrekt för att undvika att förlora information.
I den här guiden berättar jag för dig, med ett direkt tillvägagångssätt och fullt av kommandon, hur man ställer in allt från CMD y Power: sedan grundläggande designkontroller och färger, genom kommandona MODE och COLOR, till persistens genom registret, konsolförbättringar i Windows 10 och användning i krävande scenarier som Azure VM med SACDu får också se vad Windows Console API för att storleksanpassa buffertar/fönster handlar om och hur allt passar ihop med Windows. terminal.
Vad är skärmbufferten och hur relaterar den till fönstret
Skärmbufferten är ett rutnät av teckenceller (bredd x höjd) och varje konsol har ett tillhörande fönster som visar en rektangulär del av bufferten. fönstret får inte överstiga buffertens dimensioner eller vad skärmen tillåter baserat på teckenstorleken. Därför, om fönstret är större än bufferten, kommer vissa operationer att misslyckas.
Windows API-funktioner hjälper dig att förstå och justera dessa gränser: GetConsoleScreenBufferInfo returnerar buffertstorlek, fönsterposition och maximal möjlig storlek givet buffer/source/screen, medan HämtaStörstaKonsolfönsterstorlek beräknar det maximala fönstret utan hänsyn till buffertstorleken. För att zooma in eller ut, använd Ange konsolskärmbuffertstorlek (ändrar buffertstorleken) och AngeKonsolfönsterInfo (ändrar storlek på eller flyttar fönstret) med respekt för de nämnda begränsningarna.
Justera buffertstorlek och antal rader i CMD
För snabb justering från själva konsolen, kommandot MODE CON Det är den klassiska metoden: definiera kolumner (COLS) och rader (LINES). Ett typiskt exempel skulle vara att konfigurera en kompakt konsol med 70 kolumner och 9 rader: MODE CON cols=70 lines=9
Denna metod påverkar fönster- och buffertstorlek i en pjäs.
Om du föredrar en ihållande och detaljerad metod, använd Konsolegenskaper (högerklicka på titeln > Egenskaper). På fliken Alternativ aktiverar du Snabb redigering e Införande för att snabbt klistra in och markera text, och ställ in Kommandohistorik: Buffertstorlek till 999 och Antal buffertar till 5 (mer radhållning vid rullning). På fliken Layout höjer du Bufferthöjd (till exempel 2500) och justera fönstrets storlek och position; om du avmarkerar Låt systemet positionera fönstret kan du ange specifika koordinater.
För att anpassa läsning och estetik, välj teckensnitt och storlek i fliken Fuente, och definiera färger på fliken Färger. Från kommandoraden kan du också ändra färger med COLOR
och ett tvåsiffrigt hex-attribut (bakgrund och text). Till exempel: COLOR 0E
använd svart bakgrund och gul text; det är användbart för övervakning av konsoler i mörka miljöer.
Om du vill att vissa inställningar ska behållas och tillämpas som standard sparar Windows dem i registret. De mest relevanta nycklarna: HKCU\Console\
(standard) och HKCU\Console\%SystemRoot%_system32_cmd.exe
(specifikt för cmd.exe). Du kan exportera/importera värden som t.ex. Quick, Skärmbuffertstorlek, Fönsterstorlek, Antalhistorikbuffertar, Fönsterposition o Historikbuffertstorlek med en .REG-fil för att replikera dina inställningar utan manuell omkonfiguration.
Dessutom stöder CMD-startupen en Autorun för att visa meddelanden eller köra åtgärder varje gång den öppnas. HKCU\Software\Microsoft\Command Processor
skapar (eller redigerar) strängvärdet Autorun
och tilldela det till exempel: ECHO "Bienvenido a la consola"
Den är idealisk för supportmiljöer där en hälsning eller en första uppmaning krävs.
Ett praktiskt knep är att packa inställningarna i en satsKombinera storlek och färg med något liknande detta: @ECHO OFF & mode con cols=46 lines=9 & COLOR 1F & ECHO Variables...
Detta ger dig fönster med fördefinierade dimensioner och färger, perfekt för skript som inte kräver hela skärmen.
PowerShell och storleksanpassning: Vad du kan och inte kan göra
PowerShell använder samma konsolmotor (conhost.exe) än CMD, så den ärver i stort sett samma beteende: den synliga storleken beror på buffert-, fönster- och teckenstorleken. Om du justerar dessa parametrar via Egenskaper ser du samma effekt i PowerShell.
I seriella konsolscenarier med SAC (Special Administration Console) är begränsningen större: miljön påtvingar en reducerad buffert på 80×24 och utan att skrolla bakåt, så det är lämpligt att paginera med | more
i långa kommandon. För att gå vidare, använd mellanslagstangenten (sida) eller Enter (rad). Kortkommandon för att klistra in ändras också: på seriekonsolen följer klistra in med SKIFT+INSERT.
Om du vanligtvis frågar efter ett kortkommando för ändra teckenstorleken I realtid är den allmänna sökvägen fortfarande Egenskaper > Källa. På moderna konsoler kan du ändra storlek på fönstret genom att dra i hörnen, och utdata justeras med alternativet att Textutmatning justeras vid storleksändring, men det finns ingen universell kortkommando dokumenterad i det material vi behandlar här.
Att använda färger, bufferthöjd eller linjer från PowerShell fungerar lika bra som från CMD, eftersom de är konsolegenskaper. För att automatisera konsoler med återkommande visuella parametrar, skapa profiler eller skript som gäller LÄGE y FÄRG i början av sessionen, eller konfigurera fönsteregenskaperna som är fästa vid specifika genvägar.
Använda SAC på Windows och Azure: Storleksbegränsningar och knep för växling
På virtuella Windows-maskiner (inklusive Azure) har SAC funnits sedan Windows Server 2003 men är inaktiverat. Det förlitar sig på sacdrv.sys, tjänsten sacsvr och processen sacsess.exeNär du öppnar ett kommandofönster i SAC, sacsess.exe
spjut cmd.exe
i det operativsystem som körs, och därifrån kan du starta PowerShell, hantera tjänster eller trycka på nätverk och brandvägg.
På grund av begränsad buffert 80x24 utan scroll, kom ihåg att lägga till | more
till valfritt utförligt kommando. För att klistra in i seriekonsolen: SKIFT+INSERTI långa skript är det ofta bättre att skriva kommandon i en lokal editor och klistra in dem i SAC för att undvika problem med korta buffertar.
Användbara administrationskommandon i CMD inom SAC: aktivera RDP med reg add
en HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server
och i policysökvägen om tillämpligt; hantera fjärrskrivbordstjänsten med sc
(sc query termservice
, sc config
, sc start
/stop
); och rör vid nätet med netsh
(visa gränssnitt, tvinga fram DHCP med netsh interface ip set address ... source=dhcp
).
För anslutningsdiagnostik, ping y Telnet (efter att klienten har aktiverats med DISM) är bra för ett snabbt test; i modern PowerShell är det bättre Test-NetConnection
(portar ingår). Den DNS-upplösning Det är verifierat med nslookup
o Resolve-DnsName
Om du misstänker brandväggen kan du lista specifika regler eller tillfälligt inaktivera profiler med netsh advfirewall set allprofiles state off
och återaktivera med ... on
(stoppa inte MPSSVC eller BFE, annars förlorar du anslutningen helt).
För lokala konton, i CMD: net user /add
, net localgroup Administrators <usuario> /add
, net user <usuario> /active:yes
I PowerShell: New-LocalUser
, Add-LocalGroupMember
y Enable-LocalUser
(använder WMI i tidigare versioner). Det är bra att känna till SID:t för det inbyggda administratörskontot (S-1-5-21-*-500).
Händelselogg: I CMD, wevtutil qe
låter dig filtrera efter nivå, leverantör och tidsintervall med XPath (exempel med EventID=11
eller granska 4624); i PowerShell, Get-WinEvent
med -FilterXPath
y -MaxEvents
Det är likadant för dig med bättre formatering. För att lista programvara, wmic product
Det fungerar (se upp för effekterna); i PowerShell kan du också kontrollera WMI och avinstallera med .Uninstall()
.
Systemintegritet: sfc /scannow
y dism /online /cleanup-image /scanhealth
upptäcka skador; tillstånd NTFS med icacls
att exportera/spara/återställa ACL:er och ta ägarskap med takeown
vid behov. Rengöring av icke-existerande PNP-enheter med RUNDLL32.exe ... pnpclean.dll,RunDLL_PnpClean /Devices /Maxclean
. Tvinga fram policyuppdatering med gpupdate /force
Starta om med shutdown /r /t 0
(o Restart-Computer
med -Force
).
Ändra storlek med pixlar kontra med kolumner/rader
Ett vanligt missförstånd är att man vill laga ett fönster 600 × 125 pixlar exakt från PowerShell. Den klassiska konsolen är utformad av kolumner/rader och motsvarigheten till pixlar beror på teckensnitt och dess storlekSå det tillförlitliga sättet är: 1) välj teckensnitt/storlek (Egenskaper > Teckensnitt), 2) justera bufferten/fönstret med MODE CON
eller från fliken Layout, och 3) justera positionen/fönstret om det behövs med Egenskaper.
Om du behöver programmatisk precision erbjuder det inbyggda API:et Ange konsolskärmbuffertstorlek y AngeKonsolfönsterInfoDu måste dock komma ihåg att fönstret inte kan överskrida bufferten och att den faktiska maximala storleken beror på skärmen och källan; HämtaStörstaKonsolfönsterstorlek ger dig den övre gränsen utan att ta hänsyn till bufferten.
I Windows 10 kan du dra i hörnet för att ändra storlek på fönstret, och med möjligheten att Textutmatning justeras vid storleksändring När det är aktiverat radbryts texten för att förhindra horisontell rullning i mindre fönster. Detta beteende är en livräddare när man arrangerar om konsoler på NOC-skärmar eller väggskärmar.
Konsolförbättringar i Windows 10 som hjälper till med storleken
Konsolen får genvägar ctrl (kopiera/klistra in som i appar modern), utökat textval på tangentbordet och stöd för inslagningsval mellan raderna som i en editor. Dessutom finns det innehållsfiltrering Urklipp för att konvertera lockiga citattecken eller andra tecken som inte stöds, vilket undviker problem vid inklistring.
En annan nyhet: du kan ändra storlek genom att dra fönstret; när du gör detta uppdaterar systemet automatiskt bufferten och fönstrets dimensioner. För de som redigerar mycket, aktivera Utmatningstext justeras vid storleksändring Det är viktigt, eftersom det omlindar långa rader när storleken minskas.
För estetik eller överlappning med andra appar, fliken Färg integrerar kontrollen av ogenomskinlighet mellan 30 % och 100 %. Vid 30 % blir fönstret praktiskt taget genomskinligt; det är användbart för övervaka loggar utan att helt täcka stödverktygen.
Om du ser lådan med Använda den äldre konsolen aktiverad, avmarkera den för att aktivera dessa moderna funktioner. Många är gråtonade när äldre läge är aktiverat, så Stäng av den och öppna konsolen igen.
Windows Terminal: Säkerhetskopiera inställningar och profiler
Windows Terminal centraliserar CMD/PowerShell/WSL-profiler och deras inställningar finns i en settings.json en %LocalAppData%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState
Innan du vidrör finjusteringar, gör säkerhetskopiering kopiera filen till en säker sökväg (till exempel D:\Backup
) med: copy /y /v %LocalAppData%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json D:\Backup
.
Denna JSON kan redigeras med Anteckningar; där kan du fästa teckenstorlekar, teman, opacitet, färger och rullningsbeteenden för varje profil, vilket ger dig ett konsekvent sätt att öppna konsoler med det utseende och den storlek du vill ha utan att behöva förlita dig på manuella klick varje gång.
Nätverks- och brandväggsoperationer: Viktiga kommandon du kommer att vara tacksam för på små konsoler
Med små konsoler är det bäst att använda koncisa kommandon: Testet-NetConnection (PowerShell) återuppta ping- och porttestning med -Port
; i CMD, installera TelnetClient
med DISM och testportar med telnet host 80
För DNS: Resolve-DnsName
(PS) eller nslookup
(CMD). Den är mest effektiv i fönster med få rader och i kombination med | more
i SAC.
Brandvägg: lista regler efter port med Get-NetFirewallPortFilter
i PowerShell (eller COM-objektet hnetcfg.fwpolicy2
på äldre system) och styr profiler med Set-NetFirewallProfile
I CMD, netsh advfirewall
är fortfarande giltig. Undvik att stanna MPSSVC eller BFE, annars slår du ner hela nätverket.
Tjänster, loggning och system: Viktiga saker för fjärrsessioner
För fjärrskrivbordstjänster, PowerShell med WMI (Get-WmiObject Win32_Service
) visar dig hemkonto, typ av boot, sökväg och PID, samt tillstånd. Ändra starttypen med Set-Service
och beroenden från HKLM\SYSTEM\CurrentControlSet\Services\TermService
Starta/stoppa med Start-Service
/Stop-Service
.
I registersituationer hanterar PowerShell nycklar med Get-ItemProperty
y Set-ItemProperty
för att kontrollera eller aktivera RDP. Om en grupprincip tillämpar värden i HKLM\Software\Policies\Microsoft\Windows NT\Terminal Services
Kom ihåg att din ändring kan komma att skrivas över av nästa policyuppdatering.
Systemdiagnostik: systeminfo
y wmic os
De ger dig version, build, installationsdatum, tidszon och senaste start. säkert läge, bcdedit /enum
och filtrera efter safebootOmedelbar omstart med shutdown /r /t 0
o Restart-Computer
om du redan är i PowerShell.
Sökning, kopiering, flyttning och sökning av innehåll: PowerShell-produktivitet
Små konsoler tvingar dig att skriva snabbt. Get-Content med parametrar som -TotalCount
o -Tail
hjälper dig att se början eller slutet på långa filer. För att sammanfoga utan looping, använd gc *.txt -Exclude granben.txt > granben.txt
, och undviker att inkludera utdatafilen i själva indatafilen.
Kanaliseringen (|
) multiplicerar produktiviteten: gc archivo.txt | measure -Line -Word -Character
räknar rader, ord och tecken. Välj-sträng (sls
) söker efter mönster i flera filer med jokertecken och ger dig sammanhang utan att öppna dem individuellt.
Instansmetadata i Azure för att validera anslutning
På en virtuell Azure-dator, kontrollera Instansmetadatatjänst Testa anslutningen till Azure-tjänster från gästen. I PowerShell: $im = Invoke-RestMethod -Headers @{'metadata'='true'} -Uri http://169.254.169.254/metadata/instance?api-version=2017-08-01 -Method GET
och då $im | ConvertTo-Json
att se osType, vmSize, vmId, namn, resursgruppnamn eller privata/publika IP-adresser. Om detta svarar, gästen anländer till Azure-värden.
Kom ihåg att Azure-nätverkskort måste använda DHCP- inom gästoperativsystemet, även med en statisk IP-adress tilldelad i Azure. Ställ in adaptern med Set-NetIPInterface -DHCP Enabled
eller med WMI i äldre versioner.
För att kontrollera adaptrar: Get-NetAdapter
(eller WMI) visar status, beskrivning och MACAktivera med Enable-NetAdapter
eller den så kallade WMI .Enable()
Dessa frågor är kompakta och anpassade till korta konsoler.
Slutligen, kom ihåg att i SAC-sessioner med begränsad buffert, borttagning PSReadLine med Remove-Module PSReadLine
Undvik oönskade teckentillägg när du klistrar in textblock; kontrollera först med Get-Module PSReadLine
.
Med allt ovanstående kan du korrekt storleksanpassa din konsol (efter buffert och fönster), hålla utdata läsbar och köra administration och diagnostik både lokalt och på distans med SAC, utan att förlora data.
Att behärska buffert-, fönster- och utdataströmsstorlekar handlar inte bara om bekvämlighet: det låter dig arbeta snabbare, placera fönster på stora skärmar och hålla supportsessioner under kontroll även när miljön har gränser på 80x24. MODE CON, Egenskaper, Register, Konsol-API, Windows 10-förbättringar och disciplinen för paging med | more
, du har allt så att CMD och PowerShell anpassar sig efter dig och inte tvärtom.
Passionerad författare om bytesvärlden och tekniken i allmänhet. Jag älskar att dela med mig av min kunskap genom att skriva, och det är vad jag kommer att göra i den här bloggen, visa dig alla de mest intressanta sakerna om prylar, mjukvara, hårdvara, tekniska trender och mer. Mitt mål är att hjälpa dig att navigera i den digitala världen på ett enkelt och underhållande sätt.