Мне нравится иметь 2x2 сетка powershell окон, открытых на моем альтернативном мониторе, но я предпочел бы не должным быть открывать и изменять размер каждого вручную. Я могу установить размер окна (через (Get-Host).UI.RawUI.WindowSize
), но это появляется это (Get-Host).UI.RawUI.WindowPosition
на самом деле положение прокрутки в буфере.
Кто-либо знает о каком-либо способе сделать это через сценарии PS, или, приводя это к сбою, через Windows Scripting Host?
Задавание вопроса предложило мне изменять свою строку запроса Google, и я наткнулся на корректный способ сделать это.
Во-первых, загрузите WASP. Удостовериться Import-Module Wasp
находится в Вашем профиле.
Затем я создал этот сценарий (подходящий для пары 1920x1200 мониторы, при этом "основной" монитор был справа):
#
# the pause is necessary to make sure the powershell consoles have
# had time to create their windows before attempting to move them
start (which powershell)
$g0x1 = start (which powershell) -PassThru
$g1x1 = start (which powershell) -PassThru
pause 2
set-windowposition -window ((get-process -id $g0x1.id).MainWindowHandle) -left -1168 -top 0 -height 598
set-windowposition -window ((get-process -id $g1x1.id).MainWindowHandle) -left -1168 -top 600 -height 598
pause
функция просто:
function pause
{
param($p)
wait-event -timeout $p
}