Powershell同时和直到循环计数

时间:2017-10-04 19:33:34

标签: powershell loops while-loop

我是PowerShell的新手,并尝试学习循环,但我目前很困惑并且试图创建一个while和until循环,从用户询问输入,允许输入直到达到一个标记值,计数循环通过的次数,将用户输入打印到新行,然后打印循环编号。

while ($UserNumber = Read-Host -Prompt "Input a number from 1 to 10" ) 
     echo "You have entered $UserNumber, now it will count until 20."

这只是一个开始,我不知道如何继续。任何和所有的帮助将不胜感激。

3 个答案:

答案 0 :(得分:0)

while(或until)语句中的内容需要产生一个布尔值,就像if statement一样。

您可能要在此处做的是首先向用户询问一个数字:

[int] $UserNumber = Read-Host -Prompt "Input a number from 1 to 10"
Write-Host "You have entered $UserNumber, now it will count until 20."

请注意,我已经指定$ UserNumber是一个整数...这是为了阻止PowerShell将其视为一个字符串,它将是默认值。

然后你会想要构建一个在某个条件为真时运行的循环(我假设这个数字是“小于20”你正在考虑这里。)

while ($UserNumber -lt 20) {
    $UserNumber += 1 # Increase the value stored in the variable by 1.
    $UserNumber
}

该循环将继续,每次迭代将该数字递增一(并输出),直到达到20或更高。最后一次输出时,它将显示“20”。

答案 1 :(得分:0)

这可能会有所帮助

 $loopCount = 0
do{
    $answer = Read-Host "Input a number 1 - 10" 

    Write-Host "You entered $answer"

    $loopCount++

    if($answer -eq 4){
        $answered = $true
    }



} until ($answered -eq $true)

Write-Host ("Looped {0} times" -f $loopCount)

答案 2 :(得分:-1)

$num=0

$total=0

$counter=0

do 

{

$num = Read-Host " Input Number"

$total=$total + $num

$counter++

Echo "Counter : $counter and Total : $total"

}

until($total -ge 20 -or $counter -eq 10)

Write-Host "Output : $total and Number Input : $counter"

结果

enter image description here