我有一个基于的带有简单 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 }"
请随意使用和修改此模块。
您可以通过发送电子邮件至以下地址报告问题、提供反馈、建议功能或寻求帮助:[电子邮件保护]