Powershell Do Until Loop


$StartID = Read-Host -Prompt "StartID"
$StopID = Read-Host -Prompt "StopID"
$i = $StartID
do {
Write-Host $startID
Write-Host $StopID
$i = ($StartId + 1)
} until ($i -gt $StopID)

第一个问题是,在语句$i = $startid + 1之后,$i等于 11 而不是 2。 第二个问题是,即使 till 语句说它应该在循环永远持续$i -gt $stop时停止。

如何让$i增加 1 而不是 10,以及如何在$i -gt $stop时停止循环。

Read-Prompt默认返回一个字符串(这个 stackoverflow 答案解释了不同的转换方式(。您必须将字符串转换/强制转换为数值:

[int]$start = Read-Host -Prompt "Start"
[int]$stop = Read-Host -Prompt "Stop"
do {
Write-host $start
$start++
} until ($start -ge $stop)

希望有帮助。

最新更新