首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PowerShell中的窗口大小

PowerShell中的窗口大小
EN

Stack Overflow用户
提问于 2016-08-17 22:11:18
回答 2查看 23.3K关注 0票数 7

我正在尝试使用PowerShell脚本设置PowerShell窗口的大小。我使用的代码是

代码语言:javascript
复制
$pshost = Get-Host

$psWindow = $pshost.UI.RawUI

$newSize =$psWindow.BufferSize

$newSize.Height = 4000
$newSize.Width = 200

$psWindow.BufferSize = $newSize

$newSize = $psWindow.WindowSize
$newSize.Height = 95
$newSize.Width = 150

$psWindow.WindowSize= $newSize

它在大多数情况下都工作得很好,但有时我会在某些桌面大小上遇到错误。例如,我尝试使用95,但在我的桌面屏幕尺寸为1440x960的情况下失败,出现以下错误。

代码语言:javascript
复制
Exception setting "WindowSize": "Window cannot be taller than 82.
Parameter name: value.Height
Actual value was 95."
At line:1 char:5
+     $psWindow.WindowSize= $newSize
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], SetValueInvocationException
    + FullyQualifiedErrorId : ExceptionWhenSetting

有没有办法在运行脚本的机器上计算最大窗口大小设置,并设置PowerShell窗口的大小?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-17 22:38:53

你已经在正确的路线上了。

代码语言:javascript
复制
(Get-Host).UI.RawUI.MaxWindowSize

或者更具体地说:

代码语言:javascript
复制
$height = (Get-Host).UI.RawUI.MaxWindowSize.Height
$width = (Get-Host).UI.RawUI.MaxWindowSize.Width
票数 16
EN

Stack Overflow用户

发布于 2016-08-17 22:32:21

您可以尝试将其设置为所需的值,然后在出错时将其设置为最大值所表示的任何错误状态。对于宽度,请将其设置为与缓冲区宽度相同

代码语言:javascript
复制
function Set-ConsoleWindow
{
    param(
        [int]$Width,
        [int]$Height
    )

    $WindowSize = $Host.UI.RawUI.WindowSize
    $WindowSize.Width  = [Math]::Min($Width, $Host.UI.RawUI.BufferSize.Width)
    $WindowSize.Height = $Height

    try{
        $Host.UI.RawUI.WindowSize = $WindowSize
    }
    catch [System.Management.Automation.SetValueInvocationException] {
        $Maxvalue = ($_.Exception.Message |Select-String "\d+").Matches[0].Value
        $WindowSize.Height = $Maxvalue
        $Host.UI.RawUI.WindowSize = $WindowSize
    }
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38999092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档