PowerShell-监视正在运行的脚本的窗口大小

PowerShell-监视正在运行的脚本的窗口大小

我有一个基于的带有简单 UI 的脚本Write-Progress

举例来说,分隔符:

$ui_seperator = '_' * (Get-Host).UI.RawUI.WindowSize.Width

我想在 WindowSize 改变时调整这个分隔符,但我找不到在后台监视脚本的方法。

我觉得这样的事情应该在某个功能或工作中发挥作用:

while ($true) {

    if ($window_width -ne ($window_width = (Get-Host).UI.RawUI.WindowSize.Width)) {

        $ui_seperator = '_' * $window_width

    }
}

但是,我对函数和作业知之甚少,也找不到任何解决方案来实现预期结果。如能得到任何帮助,我将不胜感激!:)

答案1

简单UI

SimpleUI 模块提高了 PowerShell 控制台的用户友好性和可读性,并附带一些有助于整体改善控制台体验的技巧。

除此以外,它还具有稳定的缓冲区宽度、正确的单词拆分、前导空格、简单的三点动画和整洁的用户提示以及一些附加功能。

为了预览,请将以下行粘贴到...

... 电源外壳:

# This will download the SimpleUI module as well as a preview script and then start the latter (make sure script execution is allowed)

设置位置 $HOME\Downloads (Invoke-WebRequest -UseBasicParsing -Uri 'https://pastebin.com/raw/9RSusrvC').内容 | 添加内容-路径。\SimpleUI.psm1 -编码 UTF8 (Invoke-WebRequest -UseBasicParsing -Uri'https://pastebin.com/raw/e0n3mWy0').内容 | 添加内容-路径.\SimpleUIPreview.ps1 -编码 UTF8 & .\SimpleUIPreview.ps1

...命令:

:: This will download the SimpleUI module as well as a preview script and then start the latter
PowerShell -ExecutionPolicy Unrestricted -NoProfile -Command "& { Set-Location $HOME\Downloads; (Invoke-WebRequest -UseBasicParsing -Uri 'https://pastebin.com/raw/9RSusrvC').Content | Add-Content -Path .\SimpleUI.psm1 -Encoding UTF8; (Invoke-WebRequest -UseBasicParsing  -Uri 'https://pastebin.com/raw/e0n3mWy0').Content | Add-Content -Path .\SimpleUIPreview.ps1 -Encoding UTF8; & .\SimpleUIPreview.ps1 }"

请随意使用和修改此模块。

您可以通过发送电子邮件至以下地址报告问题、提供反馈、建议功能或寻求帮助:[电子邮件保护]

相关内容