while 迴圈將評估條件,如果為 true 則將執行操作。只要條件評估為真,就會繼續執行操作。

while(condition){
  code_block
}

以下示例建立一個從 10 倒數到 0 的迴圈

$i = 10
while($i -ge 0){
    $i
    $i--
}

Do -While 迴圈不同,在動作首次執行之前評估條件。如果初始條件的計算結果為 false,則不會執行該操作。

注意:在評估條件時,PowerShell 會將返回物件的存在視為 true。這可以以多種方式使用,但下面是監視程序的示例。此示例將生成一個記事本程序,然後只要該程序正在執行,就會睡眠當前 shell。手動關閉記事本例項時,while 條件將失敗,迴圈將中斷。

Start-Process notepad.exe
while(Get-Process notepad -ErrorAction SilentlyContinue){
  Start-Sleep -Milliseconds 500
}