PowerShell - 監視正在執行的腳本的視窗大小

PowerShell - 監視正在執行的腳本的視窗大小

我有一個帶有基於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

簡單的使用者介面

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'). 內容 | Add-Content -Path .\SimpleUI.psm1 -Encoding 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 }"

您可以根據需要隨意使用和修改此模組。

您可以透過發送電子郵件至以下地址來回報問題、提供回饋、建議功能或尋求協助:[電子郵件受保護]

相關內容