如果输入错误,PowerShell将获得相同的读取主机
如果用户输入了无效的输入,我很难获得相同的读取主机。 我尝试过许多不同的解决方案,但都没能奏效 我的示例是一个简单的yes/no脚本。但如果不是ja/nej,我希望它再次给我读主机。我也可以得到一个更通用的解决方案,比如如果输入托盘再次出现错误如果输入错误,PowerShell将获得相同的读取主机,powershell,Powershell,如果用户输入了无效的输入,我很难获得相同的读取主机。 我尝试过许多不同的解决方案,但都没能奏效 我的示例是一个简单的yes/no脚本。但如果不是ja/nej,我希望它再次给我读主机。我也可以得到一个更通用的解决方案,比如如果输入托盘再次出现错误 Write-Host "Er du født før 1. januar 2000?"; $Readhost = Read-Host "ja/nej" switch ($Readhost) { ja {write-host "Så er du over
Write-Host "Er du født før 1. januar 2000?";
$Readhost = Read-Host "ja/nej"
switch ($Readhost)
{
ja {write-host "Så er du over 18 år gammel"}
nej {write-host "Så er du yngere end 18 år"}
default {write-host ”Svar på spørgsmålet!”}
}
您需要一个
while
循环
Write-Host "Er du født før 1. januar 2000?";
$Readhost = ""
while ($Readhost -notin "ja", "nej") {
$Readhost = Read-Host "ja/nej"
switch($Readhost) {
ja {write-host "Så er du over 18 år gammel"}
nej {write-host "Så er du yngere end 18 år"}
}
}
您需要一个
while
循环
Write-Host "Er du født før 1. januar 2000?";
$Readhost = ""
while ($Readhost -notin "ja", "nej") {
$Readhost = Read-Host "ja/nej"
switch($Readhost) {
ja {write-host "Så er du over 18 år gammel"}
nej {write-host "Så er du yngere end 18 år"}
}
}
如果你有一组预定义的选项,比如“是/否”,那么考虑使用菜单来避免无效的输入。例如:
$selectedFruit = $host.UI.PromptForChoice('Select a Fruit', "Which fruit is your favorite?", ('&Apple', '&Melon', 'Man&go','&Quit'), 0)
switch($selectedFruit)
{
0 {Write-Host "You chose 'Apple'"}
1 {Write-Host "You chose 'Melon'"}
2 {Write-Host "You chose 'Mango'"}
}
在控制台中,这将生成如下菜单:
如您所见,如果用户输入的值不正确,它将继续提示用户(或选择
Quit
选项)。如果您不想要默认值,请在<代码> > PROPTPFRESUT> <代码> > <代码> > 1代码> ./P> < P > >如果您有一组预定义的选项,比如“是/否”,那么请考虑使用菜单来避免无效输入。例如:
$selectedFruit = $host.UI.PromptForChoice('Select a Fruit', "Which fruit is your favorite?", ('&Apple', '&Melon', 'Man&go','&Quit'), 0)
switch($selectedFruit)
{
0 {Write-Host "You chose 'Apple'"}
1 {Write-Host "You chose 'Melon'"}
2 {Write-Host "You chose 'Mango'"}
}
在控制台中,这将生成如下菜单:
如您所见,如果用户输入的值不正确,它将继续提示用户(或选择
Quit
选项)。如果不需要默认值,请将PromptForChoice
中的0
更改为-1
我会保留默认值以通知用户再次询问的原因。我会保留默认值以通知用户再次询问的原因。