【PowerShell】プログレスバーを表示する方法

PowerShell

タスクの実行中に進捗を視覚的に表示するのがプログレスバーです。
この記事では、PowershellのWrite-Progressコマンドレットを使用して、プログレスバーを表示する方法について説明します。

参考:
Write-Progress (Microsoft.PowerShell.Utility) - PowerShell | Microsoft Learn

Write-Progressコマンドレッドを使用した基本的な使い方

PowerShellでは、Write-Progressコマンドレットを使用してプログレスバーを表示できます。このコマンドレットは、タスクの進行状況を示すためのプログレスバーを出力します。このプログレスバーには、タスクの完了率やタスクの名前などの情報が表示されます。

以下のコードは、10回のループ処理を行いながら、進行状況をプログレスバーで表示します。

for ($i = 1; $i -le 10; $i++) {
Write-Progress -Activity "Processing" -Status "Processing Item $i" -PercentComplete ($i * 10)
Start-Sleep -Seconds 1
}

ここでは、「$i」を1から10までループさせ、「PercentComplete」パラメータを指定することで、パーセント表示のプログレスバーを表示しています。

3行目の「Start-Sleep」コマンドレッドを使用し、1秒ごとに進行状況を更新しています。

■実行画面

Write-Progress

詳細なカスタマイズ

Write-Progressコマンドレットは、さまざまなパラメーターを使用してプログレスバーの外観や動作をカスタマイズできます。

$progressPreference = "Continue" # 進捗バーを常に表示

for ($i = 1; $i -le 100; $i++) {
Write-Progress -Activity "Processing" -Status "Processing Item $i" -PercentComplete ($i)
Start-Sleep -Milliseconds 100
}

ここでは、進行状況を1%単位で表示し、100回のループが完了するまで進行状況を示します。また、進捗バーを常に表示するために、$progressPreference変数を設定しています。

■実行画面

Write-Progress

まとめ

今回は、PowershellのWrite-Progressコマンドレットを使用して、プログレスバーを表示する方法について説明しました。

タイトルとURLをコピーしました