Isaayos ang buffer at mga laki ng linya sa PowerShell at CMD

Huling pag-update: 03/10/2025
May-akda: Isaac
  • Ang nakikitang laki ay depende sa buffer, window, at pinagmulan; ayusin muna ang buffer/window, pagkatapos ay ang pinagmulan.
  • Gamitin ang MODE CON at Properties para sa mabilis o patuloy na pagbabago; Binibigyang-daan ka ng Registry na kopyahin ang mga setting.
  • Sa SAC ang buffer ay 80x24, page na may | higit pa at i-paste gamit ang SHIFT+INSERT para maiwasan ang pagkawala ng output.
  • Windows 10 ay nagdaragdag ng drag resize, text reflow, at opacity para sa kumportableng pagtatrabaho.

Buffer at line wrapping sa CMD at PowerShell

Kapag nagtatrabaho sa console sa Windows, inaayos ang laki ng buffer ng screen at ang bilang ng mga linya sa window ay maaaring gumawa ng pagkakaiba sa pagitan ng isang maayos na session at isang hindi mabata na karanasan. Higit pa rito, sa mga malalayong kapaligiran ng pangangasiwa (tulad ng serial access sa SAC in virtual machine), ang pag-alam kung paano i-crop o i-zoom ang console at i-paginate ng tama ang output ay kritikal upang maiwasan ang pagkawala ng impormasyon.

Sa gabay na ito sinasabi ko sa iyo, na may direktang diskarte at puno ng comandos, kung paano i-set up ang lahat mula sa CMD y PowerShell: mula noong pangunahing mga kontrol sa disenyo at mga kulay, sa pamamagitan ng mga utos ng MODE at COLOR, upang magpatuloy sa pamamagitan ng Registry, mga pagpapahusay ng console sa Windows 10 at gamitin sa mga mahirap na sitwasyon tulad ng Azure VM kasama ang SACMakikita mo rin kung tungkol saan ang Windows Console API para sa pag-size ng mga buffer/windows at kung paano ito magkasya sa Windows. Pandulo.

Ano ang screen buffer at kung paano ito nauugnay sa window

Ang screen buffer ay isang grid ng mga cell ng character (lapad x taas) at ang bawat console ay may nauugnay na window na nagpapakita ng isang hugis-parihaba na bahagi ng buffer na iyon. hindi maaaring lumampas ang window ang mga sukat ng buffer o kung ano ang pinapayagan ng screen batay sa laki ng font. Samakatuwid, kung ang window ay mas malaki kaysa sa buffer, ang ilang mga operasyon ay mabibigo.

Tinutulungan ka ng mga function ng Windows API na maunawaan at isaayos ang mga limitasyong ito: GetConsoleScreenBufferInfo nagbabalik ng laki ng buffer, posisyon ng window at maximum na posibleng laki na ibinigay na buffer/source/screen, habang GetLargestConsoleWindowSize kinakalkula ang maximum na window na binabalewala ang laki ng buffer. Upang mag-zoom in o out, gamitin SetConsoleScreenBufferSize (binabago ang laki ng buffer) at SetConsoleWindowInfo (binabago ang laki o muling iposisyon ang window) ayon sa mga paghihigpit na nabanggit.

Configuration ng Console Window

Ayusin ang laki ng buffer at bilang ng mga linya sa CMD

Para sa mabilis na pagsasaayos mula sa console mismo, ang command MODE CON Ito ang classic: tukuyin ang mga column (COLS) at mga row (LINES). Ang karaniwang halimbawa ay ang pag-set up ng compact console na may 70 column at 9 na row: MODE CON cols=70 lines=9. Ang pamamaraang ito ay nakakaapekto sa laki ng bintana at buffer sa isang dula.

Kung mas gusto mo ang isang paulit-ulit at butil-butil na diskarte, gamitin ang Mga Property ng Console (right click sa pamagat > Properties). Sa tab na Mga Opsyon, i-activate Mabilis na pag-edit e Pagpasok upang mabilis na i-paste at piliin ang teksto, at itakda ang Kasaysayan ng Command: Laki ng Buffer sa 999 at Bilang ng mga Buffer sa 5 (higit pang pagpapanatili ng linya habang nag-i-scroll). Sa tab na Layout, itaas ang Taas ng buffer (halimbawa, 2500), at ayusin ang laki at posisyon ng window; kung alisan ng check ang Hayaan ang system na iposisyon ang window, maaari kang magtakda ng mga partikular na coordinate.

Upang i-customize ang pagbabasa at aesthetics, piliin ang font at laki sa tab Pinagmulan, at tumutukoy colores sa tab na Mga Kulay. Mula sa command line maaari mo ring baguhin ang mga kulay gamit ang COLOR at isang dalawang-digit na hex na katangian (background at text). Halimbawa: COLOR 0E gumamit ng itim na background at dilaw na teksto; ito ay kapaki-pakinabang para sa pagsubaybay sa mga console sa madilim na kapaligiran.

Kung nais mong magpatuloy ang ilang mga setting at mailapat bilang default, sine-save ng Windows ang mga ito sa Registry. Ang pinaka-kaugnay na mga susi: HKCU\Console\ (default) at HKCU\Console\%SystemRoot%_system32_cmd.exe (tiyak sa cmd.exe). Maaari kang mag-export/mag-import ng mga halaga tulad ng QuickEdit, ScreenBufferSize, Laki ng Bintana, NumberOfHistoryBuffers, WindowPosition o HistoryBufferSize na may .REG para kopyahin ang iyong mga setting nang walang manu-manong reconfiguration.

Bilang karagdagan, ang CMD startup ay sumusuporta sa isang Autorun upang magpakita ng mga mensahe o magpatakbo ng mga aksyon sa tuwing bubuksan ito. Sa HKCU\Software\Microsoft\Command Processor lumilikha (o nag-edit) ng halaga ng string Autorun at italaga ito halimbawa: ECHO "Bienvenido a la consola"Ito ay perpekto para sa mga kapaligiran ng suporta kung saan kinakailangan ang isang pagbati o paunang prompt.

  Ayusin: Walang mahanap ang Windows Home ng driver para sa iyong community adapter

Ang isang madaling gamiting trick ay ang pag-pack ng mga setting sa isang pulutong. Pagsamahin ang laki at kulay sa isang bagay na tulad nito: @ECHO OFF & mode con cols=46 lines=9 & COLOR 1F & ECHO Variables...Nagbibigay ito sa iyo ng mga window na may mga paunang natukoy na dimensyon at kulay, perpekto para sa mga script na hindi nangangailangan ng buong screen.

Mga setting na may MODE at COLOR

PowerShell at Sizing: Ano ang Magagawa at Hindi Mo

Ang PowerShell ay gumagamit ng parehong console engine (conhost.exe) kaysa sa CMD, kaya namamana nito ang karamihan sa parehong gawi: ang nakikitang laki ay depende sa buffer, window, at laki ng font. Kung aayusin mo ang mga parameter na ito sa pamamagitan ng Properties, makikita mo ang parehong epekto sa PowerShell.

Sa mga senaryo ng serial console na may SAC (Special Administration Console), mas malaki ang paghihigpit: ang kapaligiran ay nagpapataw ng pinababang buffer na 80×24 at nang hindi nag-scroll pabalik, kaya ipinapayong mag-paginate gamit ang | more sa mahabang utos. Upang mag-advance, gamitin ang spacebar (pahina) o Enter (linya). Magbabago din ang mga shortcut sa pag-paste: sa serial console, kasama ang pag-paste SHIFT+INSERT.

Kung karaniwan kang humihingi ng keyboard shortcut para sa baguhin ang laki ng font Sa mabilisang paraan, ang pangkalahatang landas ay Properties > Source pa rin. Sa mga modernong console, maaari mong baguhin ang laki ng window sa pamamagitan ng pag-drag sa mga sulok, at ang output ay nababagay sa opsyon na Inayos ang output ng text sa pagbabago ng laki, ngunit walang unibersal na keyboard shortcut na nakadokumento sa materyal na pinangangasiwaan namin dito.

Gumagana ang paggamit ng mga kulay, taas ng buffer, o mga linya mula sa PowerShell gaya rin ng mula sa CMD, dahil mga console property ang mga ito. Upang i-automate ang mga console na may mga umuulit na visual na parameter, gumawa ng mga profile o script na naaangkop MODE y COLOR sa simula ng session, o i-configure ang Window Properties na naka-pin sa mga partikular na shortcut.

Paggamit ng SAC sa Windows at Azure: Mga Limitasyon sa Sukat at Paging Trick

Sa mga Windows VM (kabilang ang Azure), ang SAC ay naroroon mula noong Windows Server 2003 ngunit hindi pinagana. Ito ay umaasa sa sacdrv.sys, ang serbisyo sacsvr at ang proseso sacsess.exe. Kapag nagbubukas ng command window sa SAC, sacsess.exe sibat cmd.exe sa loob ng tumatakbong OS, at mula doon maaari mong ilunsad ang PowerShell, pamahalaan ang mga serbisyo, o mag-tap sa network at firewall.

Dahil sa limitadong buffer 80x24 nang walang scroll, tandaan na magdagdag | more sa anumang verbose command. Upang i-paste sa serial console: SHIFT+INSERTSa mahabang mga script, madalas na mas mahusay na magsulat ng mga command sa isang lokal na editor at i-paste ang mga ito sa SAC upang maiwasan ang mga maikling isyu sa buffer.

Mga kapaki-pakinabang na utos ng administrasyon sa CMD sa loob ng SAC: paganahin ang RDP sa reg add en HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server at sa landas ng patakaran kung naaangkop; pamahalaan ang serbisyo ng Remote Desktop gamit ang sc (sc query termservice, sc config, sc start/stop); at hawakan ang lambat gamit ang netsh (ipakita ang mga interface, pilitin ang DHCP gamit ang netsh interface ip set address ... source=dhcp).

Para sa diagnostic ng koneksyon, i-ping y telnet (pagkatapos paganahin ang kliyente na may DISM) ay mabuti para sa isang mabilis na pagsubok; sa modernong PowerShell ito ay mas mahusay Test-NetConnection (kasama ang mga port). Ang Resolusyon ng DNS Ito ay napatunayan sa nslookup o Resolve-DnsNameKung pinaghihinalaan mo ang Firewall, maaari kang maglista ng mga partikular na panuntunan o pansamantalang huwag paganahin ang mga profile gamit ang netsh advfirewall set allprofiles state off at muling i-activate gamit ang ... on (huwag ihinto ang MPSSVC o BFE o tuluyang mawawalan ng koneksyon).

Para sa mga lokal na account, sa CMD: net user /add, net localgroup Administrators <usuario> /add, net user <usuario> /active:yes. Sa PowerShell: New-LocalUser, Add-LocalGroupMember y Enable-LocalUser (sa mga naunang bersyon ay gumagamit ng WMI). Kapaki-pakinabang na malaman ang SID ng built-in na administrator account (S-1-5-21-*-500).

  Alamin kung paano ayusin ang Urlmon.dll ay nawawala o hindi natuklasang error

Log ng Kaganapan: Sa CMD, wevtutil qe nagbibigay-daan sa iyong mag-filter ayon sa antas, provider at agwat ng oras sa XPath (mga halimbawa sa EventID=11 o audit 4624); sa PowerShell, Get-WinEvent sa -FilterXPath y -MaxEvents Ito ay pareho sa iyo na may mas mahusay na pag-format. Upang ilista ang software, wmic product Gumagana ito (bantayan ang epekto); sa PowerShell maaari mo ring suriin ang WMI at i-uninstall gamit ang .Uninstall().

Integridad ng system: sfc /scannow y dism /online /cleanup-image /scanhealth tuklasin ang pinsala; mga permit NTFS sa icacls upang i-export/i-save/i-restore ang mga ACL, at angkinin ang pagmamay-ari sa takeown kung kinakailangan. Nililinis ang mga hindi umiiral na device ng PNP gamit ang RUNDLL32.exe ... pnpclean.dll,RunDLL_PnpClean /Devices /Maxclean. Pilitin ang pag-update ng patakaran gamit ang gpupdate /force. I-restart gamit ang shutdown /r /t 0 (o Restart-Computer sa -Force).

Gamit ang SAC at remote administration

Baguhin ang laki ng mga pixel kumpara sa mga column/row

Ang isang karaniwang hindi pagkakaunawaan ay ang gustong ayusin ang isang window sa 600 × 125 mga pixel eksakto mula sa PowerShell. Ang classic na console ay idinisenyo sa pamamagitan ng mga column/linya at ang katumbas ng mga pixel ay depende sa font at laki nito. Kaya ang maaasahang paraan ay: 1) pumili ng font/laki (Properties > Font), 2) ayusin ang buffer/window gamit ang MODE CON o mula sa tab na Layout, at 3) ayusin ang posisyon/window kung kinakailangan gamit ang Properties.

Kung kailangan mo ng programmatic precision, nag-aalok ang native na API SetConsoleScreenBufferSize y SetConsoleWindowInfo. Gayunpaman, kailangan mong tandaan na ang window ay hindi maaaring lumampas sa buffer at ang aktwal na maximum na laki ay nakasalalay sa screen at pinagmulan; GetLargestConsoleWindowSize binibigyan ka ng upper bound na iyon nang hindi isinasaalang-alang ang buffer.

Sa Windows 10, maaari mong i-drag ang sulok upang i-resize ang window, at may opsyon na Inayos ang output ng text sa pagbabago ng laki Kapag pinagana, binabalot ang text upang maiwasan ang pahalang na pag-scroll sa mas maliliit na window. Ang pag-uugali na ito ay isang lifesaver kapag muling inaayos ang mga console sa NOC monitor o mga screen sa dingding.

Mga pagpapahusay ng console sa Windows 10 na nakakatulong sa laki

Ang console ay nakakakuha ng mga shortcut Ctrl (copy/paste as in app moderno), pinahabang pagpili ng teksto ng keyboard at suporta para sa pagpili ng balutin sa pagitan ng mga linya tulad ng gagawin mo sa isang editor. Bilang karagdagan, mayroong pag-filter ng nilalaman clipboard para mag-convert ng mga kulot na quote o iba pang hindi sinusuportahang character, iniiwasan ang mga abala kapag nagpe-paste.

Isa pang bago: maaari mo baguhin ang laki sa pamamagitan ng pag-drag ang bintana; kapag ginawa mo ito, awtomatikong ina-update ng system ang buffer at mga sukat ng window. Sa mga madaming edit, activate Inayos ang teksto ng output kapag binago ang laki Ito ay susi, dahil binabalot nito ang mahabang linya kapag binabawasan ang laki.

Para sa aesthetics o overlap sa iba pang app, ang tab Colores isinasama ang kontrol ng Opacity sa pagitan ng 30% at 100%. Sa 30% ang bintana ay nagiging halos translucent; ito ay kapaki-pakinabang para sa monitor mga tala nang hindi ganap na sumasaklaw sa mga tool sa suporta.

Kung nakikita mo ang kahon ng Gamit ang legacy console naka-enable, alisan ng check ito para paganahin ang mga modernong feature na ito. Marami ang na-gray out habang naka-on ang legacy mode, kaya patayin mo at muling buksan ang console.

Windows Terminal: Pag-back up ng mga setting at profile

Isinasentro ng Windows Terminal ang mga profile ng CMD/PowerShell/WSL at ang kanilang mga setting ay live sa a settings.json en %LocalAppData%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState. Bago hawakan ang mga pinong pagsasaayos, gawin backup pagkopya ng file sa isang ligtas na landas (halimbawa, D:\Backup) kasama ang: copy /y /v %LocalAppData%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json D:\Backup.

Maaaring i-edit ang JSON na ito gamit ang Notepad; doon ka makakapag-pin laki ng font, mga tema, opacity, mga kulay, at mga gawi sa pag-scroll para sa bawat profile, na nagbibigay sa iyo ng pare-parehong paraan upang buksan ang mga console na may hitsura at laki na gusto mo nang hindi umaasa sa mga manu-manong pag-click sa bawat oras.

Mga Pagpapatakbo ng Network at Firewall: Mga Pangunahing Utos na Ipagpapasalamat Mo sa Mga Maliit na Console

Sa maliliit na console, pinakamahusay na gumamit ng mga maiikling utos: Pagsubok-NetConnection (PowerShell) ipagpatuloy ang ping at port testing gamit ang -Port; sa CMD, i-install TelnetClient na may DISM at mga test port na may telnet host 80. Para sa DNS: Resolve-DnsName (PS) o nslookup (CMD). Ito ay pinaka-epektibo sa mga bintana na may ilang mga linya at pinagsama sa | more sa SAC.

  Ang tamang paraan upang makipagpalitan ng mga parirala gamit ang mga emoji sa mga mensahe sa iPhone

Firewall: ilista ang mga panuntunan ayon sa port na may Get-NetFirewallPortFilter sa PowerShell (o ang COM object hnetcfg.fwpolicy2 sa mas lumang mga system) at kinokontrol ang mga profile gamit ang Set-NetFirewallProfile. Sa CMD, netsh advfirewall ay may bisa pa rin. Iwasang huminto MPSSVC o BFE, o ibababa mo ang buong network.

Mga Serbisyo, Pag-log, at System: Mga Mahahalaga para sa Mga Remote na Session

Para sa Mga Serbisyo sa Remote na Desktop, PowerShell na may WMI (Get-WmiObject Win32_Service) ay nagpapakita sa iyo ng account sa bahay, uri ng boot, path at PID, pati na rin ang estado. Baguhin ang uri ng startup gamit ang Set-Service at dependencies mula sa HKLM\SYSTEM\CurrentControlSet\Services\TermService. Magsimula / huminto sa Start-Service/Stop-Service.

Sa mga sitwasyon sa Registry, pinangangasiwaan ng PowerShell ang mga susi gamit ang Get-ItemProperty y Set-ItemProperty upang suriin o paganahin ang RDP. Kung ang isang patakaran ng grupo ay nagpapatupad ng mga halaga sa HKLM\Software\Policies\Microsoft\Windows NT\Terminal Services, tandaan na ang iyong pagbabago ay maaaring ma-overwrite ng susunod na update sa patakaran.

System Diagnostics: systeminfo y wmic os Binibigyan ka nila ng bersyon, build, petsa ng pag-install, time zone at huling boot. Para sa ligtas na mode, bcdedit /enum at salain sa pamamagitan ng safeboot. Agad na i-restart sa shutdown /r /t 0 o Restart-Computer kung nasa PowerShell ka na.

Paging, pagkopya, paglipat, at paghahanap ng nilalaman: Produktibo ng PowerShell

Pinipilit ka ng maliliit na console na mag-type nang mabilis. Kumuha ng Nilalaman na may mga parameter tulad ng -TotalCount o -Tail tumutulong sa iyong makita ang simula o katapusan ng mahabang file. Upang pagsamahin nang walang pag-loop, gamitin gc *.txt -Exclude granben.txt > granben.txt, pag-iwas sa pagsasama ng output file sa input mismo.

Ang channeling (|) nagpaparami ng pagiging produktibo: gc archivo.txt | measure -Line -Word -Character nagbibilang ng mga linya, salita at karakter. Piliin-String (sls) ay naghahanap ng mga pattern sa maraming file na may mga wildcard at binibigyan ka ng konteksto nang hindi binubuksan ang mga ito nang paisa-isa.

Instance metadata sa Azure para mapatunayan ang pagkakakonekta

Sa isang Azure VM, suriin ang Serbisyo ng Instance Metadata Mula sa bisita, subukan ang koneksyon sa mga serbisyo ng Azure. Sa PowerShell: $im = Invoke-RestMethod -Headers @{'metadata'='true'} -Uri http://169.254.169.254/metadata/instance?api-version=2017-08-01 -Method GET at pagkatapos ay $im | ConvertTo-Json upang makita osType, vmSize, vmId, pangalan, resourceGroupName o mga pribado/pampublikong IP. Kung ito ang sumagot, dumating ang bisita sa Azure host.

Tandaan na dapat gamitin ng Azure NICs DHCP sa loob ng guest OS, kahit na may static na IP na nakatalaga sa Azure. Itakda ang adaptor gamit ang Set-NetIPInterface -DHCP Enabled o sa WMI sa mga mas lumang bersyon.

Upang suriin ang mga adaptor: Get-NetAdapter (o WMI) ay nagpapakita ng katayuan, paglalarawan at MAC. Paganahin gamit ang Enable-NetAdapter o ang tinatawag na WMI .Enable()Ang mga query na ito ay compact at friendly sa mga short-line console.

Panghuli, tandaan na sa mga session ng SAC na may limitadong buffer, inaalis PSReadLine sa Remove-Module PSReadLine Iwasan ang mga hindi gustong idinagdag na mga character kapag nagpe-paste ng mga bloke ng teksto; suriin muna sa Get-Module PSReadLine.

Sa lahat ng nasa itaas maaari mong sukatin nang maayos ang iyong console (sa pamamagitan ng buffer at window), panatilihing nababasa ang output, at patakbuhin ang pangangasiwa at diagnostic sa parehong lokal at malayuan gamit ang SAC, nang hindi nawawala ang data.

Ang pag-master ng mga laki ng buffer, window, at output stream ay hindi lamang tungkol sa kaginhawahan: hinahayaan ka nitong gumana nang mas mabilis, iposisyon ang mga bintana sa malalaking monitor, at panatilihing kontrolado ang mga session ng suporta kahit na ang kapaligiran ay nagpapataw ng mga 80x24 na limitasyon. MODE CON, Properties, Registry, Console API, Windows 10 improvements at ang disiplina ng paging gamit ang | more, nasa iyo ang lahat upang ang CMD at PowerShell ay umangkop sa iyo at hindi sa kabaligtaran.