Powershell直到循环

时间:2018-10-15 10:44:33

标签: powershell

$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。 第二个问题是,即使直到语句表明$i -gt $stop循环永远继续时,它都应该停止。

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

1 个答案:

答案 0 :(得分:4)

Read-Prompt默认情况下返回一个字符串(此stackoverflow answer说明了不同的转换方式)。您必须将字符串转换/转换为数字值:

[int]$start = Read-Host -Prompt "Start"
[int]$stop = Read-Host -Prompt "Stop"

do {
   Write-host $start
   $start++
} until ($start -ge $stop)

希望有帮助。