2017-10-04 17 views
0

我是新來的PowerShell和試圖學習循環,但我目前困惑和卡住試圖創建一個while和直到循環,詢問用戶輸入,允許輸入,直到一個sentinel值是到達,計數循環進行的次數,將用戶輸入打印到新行,然後打印循環編號。Powershell而直到循環計數

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

這只是一個開始,我不知道如何繼續。任何和所有的幫助將不勝感激。

+0

「*我不知道如何繼續的任何和所有幫助將不勝感激。*。」 - >教程。這甚至不是有效的powershell,如果你試圖運行它會引發錯誤,甚至只是輸入到ISE中,它會有紅色的波浪線指向你的錯誤... – TessellatingHeckler

回答

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) 
+0

請標記和回答最適合你的方式,以便有人可以獲得學分。 – ChiliYago

0

什麼是在你的while(或until)語句需要產生一個布爾值,很像是如果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 
} 

該循環將繼續,每次迭代將該數字遞增1(並輸出它),直到達到20或更高。上次輸出時,將顯示「20」。

+0

謝謝你的信息,這真的幫助我。 – RKS