我想写一段powershell代码,比如当你输入Laskopia | LevTest | Drift | Pretest时,它会检查它是否正确,并返回它是正确的,如果它不正确,则返回它是错误的
$Miljö = Read-Host "Enter Laskopia | LevTest | Drift | Pretest"
If ($Miljö -eq "Laskopia") { $Miljö = "Laskopia" }
If ($Miljö -eq "Levtest") { $Miljö = "Levtest" }
If ($Miljö -eq "Drift") { $Miljö = "Drift" }
If ($Miljö -eq "Pretest") { $Miljö = "Pretest" }
Write-Host "Miljön is $Miljö" -ForegroundColor Green
else
Write-Host "Miljön finns inte" -ForegroundColor Red发布于 2017-12-11 23:45:29
为了避免重复,最好将这些有效值保存在数组中,并使用下面的脚本:
$ValidValues = @("Some value", "Another", "Another one")
$Value = Read-Host "Enter one of following values: $($ValidValues -join " | ")"
if($ValidValues -icontains $Value){
Write-Host "Value = $Value" -ForegroundColor Green
} else {
Write-Host "$Value is not a value value." -ForegroundColor Red
}发布于 2017-12-11 23:39:47
您也可以使用switch语句来实现这一点:
$Miljö = Read-Host "Enter Laskopia | LevTest | Drift | Pretest"
switch ($Miljö)
{
{$_ -in "Laskopia", "Levtest", "Drift", "Pretest"} { Write-Host "Miljön is $Miljö" -ForegroundColor Green }
default { Write-Host "Miljön finns inte" -ForegroundColor Red }
}对于-in操作符,您需要Powershell3.0
发布于 2017-12-11 23:45:22
if ($Miljö -in ('Laskopia','LevTest','Drift','Pretest')) {
Write-Host "Miljön is $Miljö" -ForegroundColor Green
}
else {
Write-Host "Miljön finns inte" -ForegroundColor Red
}为了从固定的选择中强制正确的用户输入,通常更好的做法是这样做:
do {
$Miljö = Read-Host "Enter Laskopia | LevTest | Drift | Pretest"
while ($Miljö -notin ('Laskopia','LevTest','Drift','Pretest'));https://stackoverflow.com/questions/47756094
复制相似问题