- Видимый размер зависит от буфера, окна и источника; сначала настройте буфер/окно, а затем источник.
- Используйте MODE CON и Properties для быстрых или постоянных изменений; Registry позволяет копировать настройки.
- В SAC буфер 80x24, страница открывается с помощью | more и вставляется с помощью SHIFT+INSERT, чтобы избежать потери выводимых данных.
- Windows В версии 10 добавлены функции изменения размера путем перетаскивания, перекомпоновки текста и непрозрачности для комфортной работы.
При работе с консолью в 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"
Идеально подходит для служб поддержки, где требуется приветствие или начальная подсказка.
Удобный трюк — упаковать настройки в партия. Сочетайте размер и цвет примерно так: @ECHO OFF & mode con cols=46 lines=9 & COLOR 1F & ECHO Variables...
Это дает вам окна с предопределенными размерами и цветами, что идеально подходит для сценариев, которым не требуется весь экран.
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).
Журнал событий: В 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
).
Изменение размера по пикселям или по столбцам/строкам
Распространенное заблуждение — это желание отремонтировать окно, чтобы 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
в САК.
Брандмауэр: список правил по порту с 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 подстраивались под вас, а не наоборот.
Страстный писатель о мире байтов и технологий в целом. Мне нравится делиться своими знаниями в письменной форме, и именно этим я и займусь в этом блоге: покажу вам все самое интересное о гаджетах, программном обеспечении, оборудовании, технологических тенденциях и многом другом. Моя цель — помочь вам ориентироваться в цифровом мире простым и интересным способом.