У меня есть следующий фрагмент кода, и я не могу понять, почему if
не работает.если инструкция -OR с операторами сравнения не работает должным образом
Целью является получение ввода от пользователя, и если это допустимый ввод, продолжайте. Если нет, то продолжайте просить, чтобы это была действительная запись.
Независимо от того, какое значение я ввожу по первому вопросу (например, wmic), он ВСЕГДА переходит в do loop
. При вводе, скажем, wmic, на втором проходе он прерывает выполнение по желанию. Недействительные записи сохраняют меня в цикле, пока я не введу правильную запись.
$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
прекрасно работают, разбивая при желании.
Спасибо за ответ и все работает, как нужно сейчас. Думаю, многим в моем воображении. –