簡短描述
執行語句清單一或多次,受限於 While 或 Until 條件。
長描述
Do 關鍵字與 While 關鍵字或 Until 關鍵字配合使用,以根據條件在腳本塊中運行語句。 與相關的 While 迴圈不同,Do 迴圈中的腳本塊始終至少運行一次。
Do-While 循環是 While 循環的變體。 在 Do-While 迴圈中,會在腳本區塊執行之後評估條件。 如同 While 迴圈,只要條件評估為 true,腳本區塊就會重複。
如同 Do-While 迴圈,Do-Until 迴圈一律會在評估條件之前至少執行一次。 不過,只有在條件為 false 時,腳本區塊才會執行。
Continue 和 Break 流控制關鍵字可以在 Do-While 迴圈或 Do-Until 迴圈中使用。
語法
下列顯示 Do-While 語句的語法:
do {<statement list>} while (<condition>)
下列顯示 Do-Until 語句的語法:
do {<statement list>} until (<condition>)
語句清單包含一或多個語句,會在每次輸入或重複迴圈時執行。
語句的條件部分會解析為 true 或 false。
範例
下面的 Do 語句示例對數位中的項進行計數,直到它到達值為 0 的項。
C:\PS> $x = 1,2,78,0
C:\PS> do { $count++; $a++; } while ($x[$a] -ne 0)
C:\PS> $count
3
以下示例使用 Until 關鍵字。 請注意,不等於 運算符 (-ne) 會取代為等於 運算符 (-eq)。
C:\PS> $x = 1,2,78,0
C:\PS> do { $count++; $a++; } until ($x[$a] -eq 0)
C:\PS> $count
3
下列範例會寫入陣列的所有值,略過任何小於零的值。
do {
if ($x[$a] -lt 0) { continue }
Write-Host $x[$a]
}
while (++$a -lt 10)