PowerShell - 실행 중인 스크립트의 WindowSize 모니터링

PowerShell - 실행 중인 스크립트의 WindowSize 모니터링

.NET 기반의 간단한 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

SimpleUI

SimpleUI 모듈은 PowerShell 콘솔의 사용자 친화성과 가독성을 향상시키고 전반적으로 더 나은 콘솔 환경에 기여하는 몇 가지 특수 효과를 제공합니다.

무엇보다도 안정적인 버퍼 너비, 올바른 단어 분할, 선행 공백, 간단한 3점 애니메이션 및 몇 가지 추가 기능이 포함된 깔끔한 사용자 프롬프트가 특징입니다.

미리보기를 보려면 다음 줄을 붙여넣으세요.

... 파워셸:

# 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').내용 | 콘텐츠 추가 -Path .\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 }"

이 모듈을 원하는 대로 자유롭게 사용하고 수정하십시오.

다음 주소로 이메일을 보내 문제를 보고하고, 피드백을 제공하고, 기능을 제안하거나, 도움을 요청할 수 있습니다.[이메일 보호됨]

관련 정보