Настройте размеры буфера и строк в PowerShell и CMD

Последнее обновление: 03/10/2025
Автор: Исаак
  • Видимый размер зависит от буфера, окна и источника; сначала настройте буфер/окно, а затем источник.
  • Используйте MODE CON и Properties для быстрых или постоянных изменений; Registry позволяет копировать настройки.
  • В SAC буфер 80x24, страница открывается с помощью | more и вставляется с помощью SHIFT+INSERT, чтобы избежать потери выводимых данных.
  • Windows В версии 10 добавлены функции изменения размера путем перетаскивания, перекомпоновки текста и непрозрачности для комфортной работы.

Буферизация и перенос строк в CMD и PowerShell

При работе с консолью в Windows настройка размер экранного буфера И количество строк в окне может стать решающим фактором между гладкой работой и невыносимыми ощущениями. Более того, в средах удалённого администрирования (например, при последовательном доступе с SAC в виртуальные машины), знание того, как обрезать или масштабировать консоль и правильно разбивать вывод на страницы, имеет решающее значение, чтобы избежать потери информации.

В этом руководстве я расскажу вам, с прямым подходом и полным команды, как настроить все из CMD y PowerShell: с тех пор основные элементы управления дизайном и цвета, через команды MODE и COLOR, для сохранения через реестр, улучшения консоли в Windows 10 и использования в требовательных сценариях, таких как Azure VM с SACВы также узнаете, что такое API консоли Windows для изменения размера буферов/окон и как все это взаимодействует с Windows. Терминал.

Что такое буфер экрана и как он связан с окном?

Буфер экрана представляет собой сетку ячеек символов (ширина x высота), и каждая консоль имеет связанное с ней окно, отображающее прямоугольную часть этого буфера. окно не может превышать Размеры буфера или возможности экрана зависят от размера шрифта. Поэтому, если окно больше буфера, некоторые операции могут быть выполнены с ошибкой.

Функции API Windows помогут вам понять и скорректировать эти ограничения: GetConsoleScreenBufferInfo возвращает размер буфера, позицию окна и максимально возможный размер заданного буфера/источника/экрана, в то время как Получить самый большой размер окна консоли Рассчитывает максимальное окно, игнорируя размер буфера. Для увеличения или уменьшения масштаба используйте SetConsoleScreenBufferSize (изменяет размер буфера) и SetConsoleWindowInfo (изменяет размер или положение окна) с учетом упомянутых ограничений.

Конфигурация окна консоли

Настройте размер буфера и количество строк в CMD

Для быстрой настройки с самой консоли команда РЕЖИМ КОН Классический способ: определение столбцов (COLS) и строк (LINES). Типичный пример — создание компактной консоли с 70 столбцами и 9 строками: MODE CON cols=70 lines=9Этот метод влияет на размер окна и буфера в одной пьесе.

Если вы предпочитаете последовательный и детальный подход, используйте Свойства консоли (щёлкните правой кнопкой мыши по названию > выберите «Свойства»). На вкладке «Параметры» активируйте Быстрое редактирование e вставка Чтобы быстро вставить и выделить текст, установите для параметра «История команд: Размер буфера» значение 999, а для параметра «Количество буферов» — значение 5 (для лучшего сохранения строк при прокрутке). На вкладке «Макет» поднимите Высота буфера (например, 2500) и отрегулируйте размер и положение окна; если снять флажок Разрешить системе позиционировать окно, можно задать конкретные координаты.

Чтобы настроить чтение и внешний вид, выберите шрифт и размер на вкладке. Источники определяет Colores на вкладке «Цвета». Из командной строки вы также можете изменить цвета с помощью COLOR и двузначный шестнадцатеричный атрибут (фон и текст). Например: COLOR 0E использовать черный фон и желтый текст; это полезно для мониторинга консолей в темных помещениях.

Если вы хотите, чтобы определённые настройки сохранялись и применялись по умолчанию, Windows сохраняет их в реестре. Наиболее важные ключи: HKCU\Console\ (по умолчанию) и HKCU\Console\%SystemRoot%_system32_cmd.exe (специфично для cmd.exe). Вы можете экспортировать/импортировать значения, такие как QuickEdit, ScreenBufferSize, размер окна, Количество буферов истории, ОкноПозиция o HistoryBufferSize с .REG-файлом для копирования ваших настроек без ручной перенастройки.

Кроме того, запуск CMD поддерживает Autorun для отображения сообщений или выполнения действий при каждом открытии. В HKCU\Software\Microsoft\Command Processor создает (или редактирует) строковое значение Autorun и назначьте его, например: ECHO "Bienvenido a la consola"Идеально подходит для служб поддержки, где требуется приветствие или начальная подсказка.

  Исправлено: Windows Home не могла найти драйвер для вашего сетевого адаптера.

Удобный трюк — упаковать настройки в партия. Сочетайте размер и цвет примерно так: @ECHO OFF & mode con cols=46 lines=9 & COLOR 1F & ECHO Variables...Это дает вам окна с предопределенными размерами и цветами, что идеально подходит для сценариев, которым не требуется весь экран.

Настройки MODE и COLOR

PowerShell и масштабирование: что можно и что нельзя делать

PowerShell использует тот же консольный движок (conhost.exe) чем CMD, поэтому он наследует большую часть того же поведения: видимый размер зависит от буфера, окна и размера шрифта. Если вы настроите эти параметры через «Свойства», вы увидите тот же эффект в PowerShell.

В сценариях последовательной консоли с SAC (специальной консолью администрирования) ограничение больше: среда накладывает уменьшенный буфер 80×24 и без прокрутки назад, поэтому желательно пролистать страницы с помощью | more В длинных командах. Для перехода используйте пробел (страница) или Enter (строка). Сочетания клавиш для вставки также меняются: на последовательной консоли вставка идёт с SHIFT+INSERT.

Если вы обычно спрашиваете сочетание клавиш для изменить размер шрифта На лету общий путь по-прежнему — «Свойства» > «Источник». На современных консолях можно изменять размер окна, перетаскивая углы, а вывод регулируется с помощью параметра Вывод текста корректируется при изменении размера, но в рассматриваемом здесь материале не документировано универсальное сочетание клавиш.

Использование цветов, высоты буфера или линий из PowerShell работает так же хорошо, как и из CMD, поскольку они являются свойствами консоли. Чтобы автоматизировать работу консолей с повторяющимися визуальными параметрами, создайте профили или скрипты, которые применяются РЕЖИМ y COLOR в начале сеанса или настроить свойства окна, закрепленные за определенными ярлыками.

Использование SAC в Windows и Azure: ограничения по размеру и хитрости подкачки

На виртуальных машинах Windows (включая Azure) SAC присутствует с Windows Server 2003, но отключен. Он использует sacdrv.sys, обслуживание саксвр и процесс sacsess.exeПри открытии командного окна в SAC, sacsess.exe Lanza cmd.exe в работающей ОС, и оттуда вы можете запустить PowerShell, управлять службами или подключиться к сети и брандмауэру.

Из-за ограниченный буфер 80x24 без прокрутки, не забудьте добавить | more на любую подробную команду. Чтобы вставить в последовательную консоль: SHIFT+INSERTВ длинных скриптах часто лучше писать команды в локальном редакторе и вставлять их в SAC, чтобы избежать проблем с коротким буфером.

Полезные команды администрирования в CMD в SAC: включить RDP con reg add en HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server и в пути политики, если применимо; управляйте службой удаленного рабочего стола с помощью sc (sc query termservice, sc config, sc start/stop); и коснитесь сети netsh (показать интерфейсы, принудительно включить DHCP с netsh interface ip set address ... source=dhcp).

Для диагностики подключения, пинг y Telnet (после включения клиента с DISM) хороши для быстрого теста; в современном PowerShell лучше Test-NetConnection (порты включены). разрешение DNS Это проверено с помощью nslookup o Resolve-DnsNameЕсли вы подозреваете, что брандмауэр неисправен, вы можете перечислить конкретные правила или временно отключить профили с помощью netsh advfirewall set allprofiles state off и реактивировать с помощью ... on (не останавливайте MPSSVC или BFE, иначе вы полностью потеряете соединение).

Для локальных учетных записей в CMD: net user /add, net localgroup Administrators <usuario> /add, net user <usuario> /active:yes. В PowerShell: New-LocalUser, Add-LocalGroupMember y Enable-LocalUser (в более ранних версиях используется WMI). Полезно знать SID встроенной учётной записи администратора (С-1-5-21-*-500).

  Узнайте, как исправить ошибку Urlmon.dll отсутствует или не обнаружена.

Журнал событий: В CMD, wevtutil qe позволяет фильтровать по уровню, поставщику и временному интервалу с помощью XPath (примеры с EventID=11 или аудит 4624); в PowerShell, Get-WinEvent con -FilterXPath y -MaxEvents Вам всё равно, только форматирование получше. Чтобы составить список программ, wmic product Это работает (обратите внимание на последствия); в PowerShell вы также можете проверить WMI и удалить с помощью .Uninstall().

Целостность системы: sfc /scannow y dism /online /cleanup-image /scanhealth обнаружить повреждение; разрешения NTFS con icacls экспортировать/сохранять/восстанавливать списки ACL и стать владельцем takeown При необходимости. Очистка несуществующих устройств PNP с помощью RUNDLL32.exe ... pnpclean.dll,RunDLL_PnpClean /Devices /Maxclean. Принудительное обновление политики с помощью gpupdate /force. Перезапустить с shutdown /r /t 0 (o Restart-Computer con -Force).

Использование SAC и удаленного администрирования

Изменение размера по пикселям или по столбцам/строкам

Распространенное заблуждение — это желание отремонтировать окно, чтобы 600 × 125 пикселей Точно так же, как в PowerShell. Классическая консоль построена по столбцам/строкам, и эквивалентность пикселям зависит от шрифт и его размер. Итак, надёжный способ: 1) выбрать шрифт/размер (Свойства > Шрифт), 2) настроить буфер/окно с помощью MODE CON или из вкладки «Макет» и 3) при необходимости отрегулируйте положение/окно с помощью «Свойства».

Если вам нужна программная точность, то нативный API предлагает SetConsoleScreenBufferSize y SetConsoleWindowInfo. Однако следует помнить, что окно не может превышать размер буфера, а фактический максимальный размер зависит от экрана и источника; Получить самый большой размер окна консоли дает вам верхнюю границу без учета буфера.

В Windows 10 вы можете перетащить угол, чтобы изменить размер окна, а также с помощью опции Вывод текста корректируется при изменении размера При включении этого параметра текст переносится, предотвращая горизонтальную прокрутку в окнах меньшего размера. Это очень удобно при переупорядочивании консолей на мониторах NOC или настенные экраны.

Улучшения консоли в Windows 10, помогающие уменьшить размер

Консоль получает ярлыки Ctrl (скопировать/вставить как в Программы современный), расширенный выбор текста на клавиатуре и поддержка выбор обертки Между строк, как в редакторе. Кроме того, есть фильтрация контента. буфер обмена для преобразования фигурных кавычек и других неподдерживаемых символов, что позволяет избежать сложностей при вставке.

Еще одна новинка: вы можете изменить размер путем перетаскивания окно; при этом система автоматически обновляет размеры буфера и окна. Для тех, кто много редактирует, активируйте Вывод текста корректируется при изменении размера Это важно, так как позволяет перенести длинные строки при уменьшении размера.

Для эстетики или совпадения с другими приложениями вкладка Цвета интегрирует управление светонепроницаемость от 30% до 100%. При 30% окно становится практически полупрозрачным; это полезно для монитор бревна без полного охвата вспомогательных инструментов.

Если вы видите коробку Использование устаревшей консоли Включено, снимите флажок, чтобы включить эти современные функции. Многие из них неактивны при включенном режиме совместимости, поэтому выключи и снова откройте консоль.

Windows Terminal: Резервное копирование настроек и профилей

Терминал Windows централизует профили CMD/PowerShell/WSL и их настройки в реальном времени settings.json en %LocalAppData%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalStateПрежде чем приступать к точным настройкам, выполните следующие действия. резервная копия скопировав файл в безопасный путь (например, D:\Backup) с: copy /y /v %LocalAppData%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\LocalState\settings.json D:\Backup.

Этот JSON можно редактировать с помощью Блокнота; там вы можете закрепить размеры шрифта, темы, прозрачность, цвета и поведение прокрутки для каждого профиля, что дает вам единый способ открывать консоли с нужным вам внешним видом и размером, не прибегая к ручным нажатиям каждый раз.

Сетевые операции и межсетевые экраны: ключевые команды, за которые вы будете благодарны на небольших консолях

На небольших консолях лучше всего использовать краткие команды: Тест-NetConnection (PowerShell) возобновите пинг и тестирование портов с помощью -Port; в CMD установить TelnetClient с DISM и тестовые порты с telnet host 80. Для DNS: Resolve-DnsName (ПС) или nslookup (CMD). Он наиболее эффективен в окнах с небольшим количеством строк и в сочетании с | more в САК.

  Правильный способ обмена фразами со смайлами в сообщениях iPhone

Брандмауэр: список правил по порту с Get-NetFirewallPortFilter в PowerShell (или COM-объекте hnetcfg.fwpolicy2 на старых системах) и контролирует профили с помощью Set-NetFirewallProfile. При КМД, netsh advfirewall все еще действителен. Избегайте остановки MPSSVC или BFE, иначе вы выведете из строя всю сеть.

Службы, ведение журнала и система: основы удаленных сеансов

Для служб удаленных рабочих столов PowerShell с WMI (Get-WmiObject Win32_Service) показывает вам домашний счет, Что-то вроде Загрузка, путь и PID, а также состояние. Измените тип запуска с помощью Set-Service и зависимости от HKLM\SYSTEM\CurrentControlSet\Services\TermService. Запуск/остановка с помощью Start-Service/Stop-Service.

В ситуациях с реестром PowerShell обрабатывает ключи с помощью Get-ItemProperty y Set-ItemProperty для проверки или включения RDP. Если групповая политика устанавливает значения в HKLM\Software\Policies\Microsoft\Windows NT\Terminal Services, помните, что ваши изменения могут быть перезаписаны следующим обновлением политики.

Диагностика системы: systeminfo y wmic os Они предоставляют вам информацию о версии, сборке, дате установки, часовом поясе и последней загрузке. безопасный режим, bcdedit /enum и отфильтровать по безопасная загрузка. Немедленный перезапуск с shutdown /r /t 0 o Restart-Computer если вы уже используете PowerShell.

Память, копирование, перемещение и поиск контента: производительность PowerShell

Маленькие консоли заставляют вас быстро печатать. Получить-контент с такими параметрами, как -TotalCount o -Tail Помогает увидеть начало или конец длинных файлов. Для объединения без зацикливания используйте gc *.txt -Exclude granben.txt > granben.txt, избегая включения выходного файла в сам входной файл.

Ченнелинг (|) увеличивает производительность: gc archivo.txt | measure -Line -Word -Character подсчитывает количество строк, слов и символов. Выбрать строку (sls) ищет шаблоны в нескольких файлах с подстановочными знаками и выдает контекст, не открывая их по отдельности.

Метаданные экземпляра в Azure для проверки подключения

На виртуальной машине Azure проверьте Служба метаданных экземпляра Проверьте подключение к службам Azure из гостевой ОС. В PowerShell: $im = Invoke-RestMethod -Headers @{'metadata'='true'} -Uri http://169.254.169.254/metadata/instance?api-version=2017-08-01 -Method GET , а затем $im | ConvertTo-Json видеть osType, vmSize, vmId, имя, resourceGroupName или частные/публичные IP-адреса. Если это ответ, гость прибывает на хост Azure.

Помните, что сетевые карты Azure должны использовать DHCP В гостевой ОС, даже если в Azure назначен статический IP-адрес. Настройте адаптер с помощью Set-NetIPInterface -DHCP Enabled или с WMI в более старых версиях.

Для проверки адаптеров: Get-NetAdapter (или WMI) отображает статус, описание и MAC. Включить с помощью Enable-NetAdapter или так называемый WMI .Enable()Эти запросы компактны и удобны для консолей с короткими строками.

Наконец, помните, что в сеансах SAC с ограниченным буфером удаление PSReadLine con Remove-Module PSReadLine Избегайте добавления нежелательных символов при вставке блоков текста; сначала проверьте Get-Module PSReadLine.

Благодаря всему вышеперечисленному вы можете правильно задать размер консоли (по буферу и окну), поддерживать вывод в удобочитаемом виде, а также выполнять администрирование и диагностику как локально, так и удаленно с помощью SAC. без потери данных.

Управление размерами буфера, окна и выходного потока — это не только вопрос удобства: оно позволяет вам работать быстрее, размещать окна на больших мониторах и контролировать сеансы поддержки, даже если среда накладывает ограничения 80x24. РЕЖИМ КОН, Свойства, Реестр, Консольный API, Улучшения Windows 10 и дисциплина пагинации с | more, у вас есть все, чтобы CMD и PowerShell подстраивались под вас, а не наоборот.