수색…


소개

진행 표시 줄을 사용하여 무언가가 process.It에있는 것을 보여주는 데 사용할 수있는 시간 절약하고 매끄러운 기능입니다. 진행 막대는 스크립트의 어느 부분이 실행되고 있는지 파악하기 위해 디버깅하는 동안 엄청나게 유용하며, 스크립트를 실행하는 사람들이 무슨 일이 일어나고 있는지 추적 할 때 만족 스럽습니다. 스크립트를 완료하는 데 오랜 시간이 걸리면 일종의 진행 상황을 표시하는 것이 일반적입니다. 사용자가 스크립트를 시작했지만 아무 일도 일어나지 않으면 스크립트가 올바르게 시작되었는지 궁금해하기 시작합니다.

진행률 표시 줄의 간단한 사용

1..100 | ForEach-Object {
        Write-Progress -Activity "Copying files" -Status "$_ %" -Id 1 -PercentComplete $_ -CurrentOperation "Copying file file_name_$_.txt"
        Start-Sleep -Milliseconds 500    # sleep simulates working code, replace this line with your executive code (i.e. file copying)
    }

간략히하기 위해이 예제에는 실행 코드 ( Start-Sleep 시뮬레이션 됨)가 포함되어 있지 않습니다. 그러나 직접 수정 한 후 실행하는 것이 가능합니다.

PS 콘솔에서 결과를 보는 방법은 다음과 같습니다. Powershell 콘솔 단일 진행률 표시 줄

이것이 결과가 PS ISE에서 나타나는 모습입니다. Powershell ISE 단일 진행률 표시 줄

내부 진행률 막대 사용

1..10 | foreach-object {
        $fileName = "file_name_$_.txt"
        Write-Progress -Activity "Copying files" -Status "$($_*10) %" -Id 1 -PercentComplete ($_*10) -CurrentOperation "Copying file $fileName"
            
        1..100 | foreach-object {
            Write-Progress -Activity "Copying contents of the file $fileName" -Status "$_ %" -Id 2 -ParentId 1 -PercentComplete $_ -CurrentOperation "Copying $_. line"
            
            Start-Sleep -Milliseconds 20 # sleep simulates working code, replace this line with your executive code (i.e. file copying)
        }

        Start-Sleep -Milliseconds 500 # sleep simulates working code, replace this line with your executive code (i.e. file search)

   }

간략히하기 위해이 예제에는 실행 코드 ( Start-Sleep 시뮬레이션 됨)가 포함되어 있지 않습니다. 그러나 직접 수정 한 후 실행하는 것이 가능합니다.

PS 콘솔에서 결과를 보는 방법은 다음과 같습니다. Powershell 콘솔 내부 진행률 표시 줄

이것이 결과가 PS ISE에서 나타나는 모습입니다. Powershell ISE 내부 진행률 표시 줄



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow