?

Log in

No account? Create an account

Previous Entry | Next Entry

Размеры буфера и окна консоли PowerShell
Объект $Host.UI.RawUI действительно полезен. Мы также можем изменять и другие параметры консоли с помощью него. Например, размер окна, буфера и даже изменить текст заголовка консоли.
Размер буфера - это ширина и высота окна зарезервированная в памяти, таким образом размер окна - часть видимого буфера. Следовательно, размер окна должен быть меньше размера буфера. Высота буфера отвечает за то, сколько строк текст влезет в окно консоли, по умолчанию эта величина имеет размер 3000, это значит что 3000 строк последнего вывода на консоли всегда будут оставаться.
Мы можем поменять величины размера буфера и окна изменив значения $Host.UI.RawUI. Если мы хотим узнать текущее значение, запустите следующие команды:

$Host.UI.RawUI.BufferSize
$Host.UI.RawUI.WindowSize



 
Теперь мы можем поменять размер экрана. Возможно вы попробуете сделать это таким образом:

$Host.UI.RawUI.WindowSize.Width = 110
$Host.UI.RawUI.WindowSize.Height = 40

PowerShell не ругнется, но тем не менее размер экрана не изменится, и если вы запросите снова значения переменных, то они останутся прежними. Правильный способ изменить размер - задать значение свойству напрямую. Так как, WindowSize - объект, то нужно создать объект этого типа, и определить его свойства высоты и ширины и потом уже присвоить значение объекта объекту WindowSize:

$size = $Host.UI.RawUI.WindowSize
$size.Width = 100
$size.Height = 25
$Host.UI.RawUI.WindowSize = $size

Здесь мы сохранили значение WindowSize в переменной $size. Теперь, после того как у нас есть объект, мы задали ему  значения высоты и ширины и присвоили весь объект назад в WindowSize. Если вам захочется также изменить размер буфера, то просто измените BufferSize на WindowSize.
Важно заметить, что величины буфера и окна измеряются не в пикселях. Ширина измеряется в количестве символов, которые заполняют строку, а ширина указывает на количество строк, которые можно разместить.

Заголовок окна консоли
 
Мы можем изменить заголовок консоли на что либо более интересное, например "PowerShell - мега вещь! :)". Это можно сделать командой:

$Host.UI.RawUI.WindowTitle=”PowerShell - мега вещь! :)”


 
Теперь если у вас открыто много разных консолей, вы можете дать им нужные имена, чтоб сразу понять по их заголовкам - какое для чего запущено.

Profile

makc3000
makc3000

Latest Month

March 2010
S M T W T F S
 123456
78910111213
14151617181920
21222324252627
28293031   
Powered by LiveJournal.com
Designed by Lilia Ahner