Windows PowerShellで「〇秒停止(sleep)」するには?

Windows

以前、Windowsのバッチファイルで「〇秒停止」する方法を記事にしました。

書いてから何年も経っていますが、未だにアクセスがあります。Windows 11への移行も進み、PowerShellスクリプト(拡張子.ps1)のほうがメジャーになっていくかと思いましたが、旧来のコマンドプロンプトで実行されるバッチファイルのほうが簡単で初心者でも分かりやすいですし、複雑なことをしなければ機能的にも十分なので、まだまだ使い続けられるのでしょう。

とはいえ、複雑な処理を行うならPowerShellを使う必要が出てくるというのも事実です。なお、上の記事でも少し触れていますが、PowerShellはバッチファイル(コマンドプロンプト)と異なり、Linuxなどで標準的なBashのように「sleep」コマンドが使えます。「sleep 停止したい秒数」を実行するだけです。

# 3秒スリープ(秒数の前に-sと付けても同じ)
sleep 3

# 5.8秒スリープ
sleep 5.8

「-m」オプションをつけて「ミリ秒」単位で指定することもできます。

# 500ミリ秒スリープ
sleep -m 500

なお、この「sleep」は、PowerShellの組み込みコマンドレットである「Start-Sleep」の短縮形です。オプションも「-Seconds」「-Milliseconds」と省略・短縮せずに書くことができます。なので、「本来」のコマンドであるStart-Sleepと省略・短縮していないオプションを使って書けば、以下のようになります。

# 3秒スリープ(-Secondsは省略可・-sと書くことも可)
Start-Sleep -Seconds 3

# 5.8秒スリープ(-Secondsは省略可・-sと書くことも可)
Start-Sleep -Seconds 5.8

# 500ミリ秒スリープ(-Millisecondsは-mと書くことも可)
Start-Sleep -Milliseconds 500

また、PowerShellではコマンドレットの大文字・小文字は区別しないので、「start-sleep」「-MILLISECONDS」などのように書くことも可能です。ただし、PowerShellスクリプトに記述する場合は、可読性を高めるためにStart-Sleepのように本来の表記で書くことが推奨されています。

Windows
\シェアお願いします/
LFI

コメント

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