我喜欢在备用显示器上打开 2x2 网格的 powershell 窗口,但我不想手动打开并调整每个窗口的大小。我可以设置窗口大小(通过(Get-Host).UI.RawUI.WindowSize
),但看起来这(Get-Host).UI.RawUI.WindowPosition
实际上是缓冲区内的滚动位置。
是否有人知道通过 PS 脚本或(如果失败的话)通过 Windows Scripting Host 来执行此操作的方法?
答案1
提出这个问题促使我更改我的 Google 查询字符串,而我偶然发现了正确的方法。
首先,下载黄蜂. 确保它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
}