我是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."
这只是一个开始,我不知道如何继续。任何和所有的帮助将不胜感激。
答案 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)