Windowsエラー
 Computer >> コンピューター >  >> トラブルシューティング >> Windowsエラー

PowerShellスクリプトに一時停止(ポーズ)を追加する方法【具体例つき】

この記事では、PowerShellスクリプトに一時停止(ポーズ)を追加する方法を解説します。

一時停止や待機コマンドを追加する方法はいくつかあります。以下では、それぞれの方法を具体例とともにわかりやすく紹介していきます。

PowerShellスクリプトに一時停止(ポーズ)を追加する方法【具体例つき】

PowerShellスクリプトに一時停止を追加する基本の方法

最も基本的なのは、Start-Sleepコマンドレットを使う方法です。以下の手順で追加できます。

  1. スタートメニューから「PowerShell ISE」を開きます
  2. 一時停止コマンドを追加したいPowerShellスクリプトを開きます
  3. 一時停止させたい箇所に、start-sleep -Seconds 5という行を追加します(数字の「5」は、スクリプトを止めておきたい秒数に置き換えてください)
    PowerShellスクリプトに一時停止(ポーズ)を追加する方法【具体例つき】
  4. 上記の例では、3行目に待機コマンドを追加しています
  5. PowerShellスクリプトを保存します
  6. PowerShellスクリプトを実行します

Start-Sleepコマンドの構文は以下の2種類です。

Start-Sleep -seconds
Start-Sleep -milliseconds

使用例

Start-Sleep -seconds 1.5(1.5秒間スリープ)
Start-Sleep -seconds 5(5秒間スリープ)
Start-Sleep -seconds 15(15秒間スリープ)

Start-Sleep -milliseconds 1.5(1.5ミリ秒間スリープ)
Start-Sleep -milliseconds 5(5ミリ秒間スリープ)
Start-Sleep -milliseconds 15(15ミリ秒間スリープ)

カウントダウン表示付きの一時停止を追加する方法

ここでは、カウントダウン表示付きで一時停止を追加する方法を紹介します。カウントダウン中に任意のキーを押すとカウントダウンが中断され、そのままスクリプトの実行が再開されるのが特徴です。

以下の手順で追加できます。

  1. スタートメニューから「PowerShell ISE」を開きます
  2. 一時停止コマンドを追加したいPowerShellスクリプトを開きます
  3. 一時停止させたい箇所に、timeout /t 15という行を追加します(数字の「15」は、一時停止させたい秒数に置き換えてください)
    PowerShellスクリプトに一時停止(ポーズ)を追加する方法【具体例つき】
  4. PowerShellスクリプトを保存します
  5. PowerShellスクリプトを実行します

timeoutコマンドを実行すると、画面には以下のように表示されます。

PowerShellスクリプトに一時停止(ポーズ)を追加する方法【具体例つき】

代替方法

上記のtimeout /t 15を、次のコードに置き換えることもできます。

1..60 | ForEach {
Start-Sleep -s 1
Write-Progress -activity "タイマー開始:" -Status $_
}

この方法では、下図のように少し異なる形式でカウントダウンタイマーが表示されます。

上記のスクリプトは、1秒ごとに合計60秒間カウントダウンします。「60」の部分を、カウントダウンさせたい秒数に置き換えてください。

PowerShellスクリプトに一時停止(ポーズ)を追加する方法【具体例つき】

ポップアップメッセージ付きの一時停止を追加する方法

この方法では、PowerShellスクリプトに一時停止コマンドを追加しつつ、メッセージをポップアップウィンドウとして表示します。一般的には、.NET FrameworkのSystem.Windows.Formsアセンブリを読み込み、MessageBoxクラスを使ってダイアログを表示します。

以下の手順で追加できます。

  1. スタートメニューから「PowerShell ISE」を開きます
  2. 一時停止コマンドを追加したいPowerShellスクリプトを開きます
  3. ポップアップ表示用のコードを追加します
  4. PowerShellスクリプトを保存します
  5. PowerShellスクリプトを実行します

実行すると、以下のようにポップアップウィンドウが表示されます。

PowerShellスクリプトに一時停止(ポーズ)を追加する方法【具体例つき】

 

プログレスバーを表示しながらPowerShellをスリープさせる方法

これは筆者のお気に入りの方法です。プログレスバーを表示しながらPowerShellをスリープさせることができ、処理の進行状況がひと目でわかるのが魅力です。

以下の手順で追加できます。

  1. スタートメニューから「PowerShell ISE」を開きます
  2. 一時停止コマンドを追加したいPowerShellスクリプトを開きます
  3. 以下の太字のコードを追加します
    For ($i=0; $i -le 100; $i++) {
    Start-Sleep -Milliseconds 20
    Write-Progress -Activity "Sleeping For 20 Seconds" -Status "StatusString" -PercentComplete $i -CurrentOperation "CurrentOperationString"
    }
  4. 数字の「20」を、スクリプトをスリープさせたい秒数に置き換えます
  5. "Sleeping For 20 Seconds"の部分は、表示したい任意の文字列に変更できます
  6. PowerShellスクリプトを保存します
  7. PowerShellスクリプトを実行します

プログレスバーの実際の表示は以下のようになります。

PowerShellスクリプトに一時停止(ポーズ)を追加する方法【具体例つき】


  1. Windows PowerShellスクリプトの実行を有効/無効にする方法【グループポリシー・レジストリ対応】

    Windows 10でWindows PowerShellのスクリプト実行をオンまたはオフに切り替えたい場合は、この記事の手順に従ってください。ここでは、レジストリエディターとローカルグループポリシーエディターを使用して、この機能を有効化・無効化する方法を詳しく解説します。 Windows PowerShellは、Windows OSに標準搭載されている非常に便利で重要なツールです。スクリプトには主に2種類あります。1つは信頼された発行元によって署名されたスクリプト、もう1つはローカルスクリプトです。ローカルスクリプトとは自分のPC上で作成したスクリプトのことで、もう一方は特定のタスクを実行す

  2. Windows 10のコンテキストメニューにPowerShellを追加する方法

    ```html Windows 10のコンテキストメニューとは Windows 10におけるコンテキストメニューとは、マウスを右クリックしたときに表示されるGUI(グラフィカルユーザーインターフェース)のメニューです。表示される項目は、クリックした対象(ファイル・フォルダー・デスクトップなど)やアプリケーションによって異なり、その場で必要な操作をすばやく実行できる便利なショートカットとして機能します。 よく使うツールをこのメニューに登録しておけば、日々の作業効率が大きく向上します。本記事では、Windows 10のコンテキストメニューにPowerShellを追加する方法を、レジストリエディター