$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时停止循环。

最佳答案

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)

希望能有所帮助。

关于powershell - Powershell直到循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52814942/

10-15 16:47