HOME > PowerShell構文 > while構文
while構文
while構文は、特定の条件が満たされている間、繰り返し処理を行いたい時に使用します。
解説
while文は、特定の条件が真である間、コードブロックを繰り返し実行するためのループ構文です。
構文
- (while構文)
- while (<条件>) { <繰り返し実行するコード> }
※while文の各部分の詳細は以下です。
- <条件>
- 各反復の前に評価される式。
この条件がTrueである間ループ処理を継続します。
PowerShellでは、条件式に使用する比較演算子は一般的な記号(<、= など)は使用できません。
以下の表の比較演算子をご使用ください。
比較演算子 | 記号 | 説明 |
---|---|---|
-eq | = | 等しい |
-ne | <> | 等しくない |
-lt | < | より小さい(未満) |
-le | <= | 以下 |
-gt | > | より大きい |
-ge | >= | 以上 |
サンプル
変数countが3より小さい間実行する
$count = 0
while ($count -lt 3) {
Write-Host "Count is $count"
$count++
}
(結果)
Count is 0
Count is 1
Count is 2
無限ループを行う
while ($true) {
Write-Host "無限ループ中です。停めたい場合は[Ctrl]+[C]を押してください。"
Start-Sleep -Seconds 1
}
[Ctrl]+[C]を押すまで1秒ごとにメッセージを表示します。
ファイルの存在を監視する
$filePath = "C:\Sample\test.txt"
while (Test-Path $filePath) {
Write-Host "ファイルが存在します。"
Start-Sleep -Seconds 5
}
Write-Host "ファイルが無くなりました。"
ファイル「C:\Sample\test.txt」が存在する間ループ処理を行います。
備考
- 大文字小文字は区別しないので、while、While、WHILEどのパターンで書いても問題ありません。
- 条件に合致しなくても最低1回はループ処理を行いたい場合は、do-while構文をご使用ください。
関連項目
- PowerShell構文
- if構文:条件分岐を行う
- for構文:ループ処理を行う
- foreach構文:コレクションの各要素に対して処理を行う
- switch構文:特定の式の値に基づいて多分岐を行う
- while構文:特定の条件が満たされている間、繰り返し処理を行う
- do-while構文:少なくとも一度はループ内の処理を実行することを保証する