サーチ…


前書き

プログレスバーを使用すると、何かがプロセス内にあることを示すことができます。これは、時間を節約し、滑らかな機能です。プログレスバーは、デバッグ中にスクリプトのどの部分が実行されているかを把握するのに非常に役立ち、スクリプトを実行している人々が何が起こっているかを追跡するのに満足しています。スクリプトの完了に時間がかかる場合は、何らかの進捗状況を表示するのが一般的です。ユーザーがスクリプトを起動しても何も起こらない場合、スクリプトが正しく起動したかどうか不思議に思う。

プログレスバーの簡単な使用

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