次のコードスニペットがあり、なぜif
が機能しないのかわかりません。比較演算子が期待通りに機能しない-ORステートメントがある場合
目的は、ユーザーからの入力を得ることです。有効な入力であれば、実行してください。そうでない場合は、有効なエントリになるまで尋ねてください。
最初の質問(たとえばwmic)にどのような値を入力しても、必ずdo loop
に入ります。 2回目のパスでwmicと入力すると、必要に応じてdoが分割されます。無効なエントリーは、正しいエントリーを入力するまで私をループ内に保ちます。
$query_means = read-host 'Enter one of psinfo, powershell or wmic'
if ($query_means -ne "wmic" -OR $query_means -ne "psinfo" -OR $query_means -ne "powershell")
{
do {
$query_means = read-host 'Invalid entry. Enter one of psinfo, powershell or wmic'
}Until ($query_means -eq "wmic" -OR $query_means -eq "psinfo" -OR $query_means -eq "powershell")
}
until
の比較は、必要に応じて正常に機能します。
おかげで動作します。私のORフレームの多くに、私は思います。 –