У меня возникла проблема со сценарием, который я пишу для своего сына. Мое намерение - это простое напоминание, чтобы он помнил свои дела. Недавно я начал делать PowerShell, и мне это очень нравится. Я купил пару книг и прошел через множество других сообщений.Если/ElseIf блок не работает с -или
То, что я получил до сих пор ниже, кажется, если оценки правильно не работает с -or
(или, может быть, я goofed?)
## REMINDERS TO DO CHORES ##
$sun = "Sunday"
$mon = "Monday"
$tue = "Tuesday"
$wed = "Wednesday"
$thu = "Thursday"
$fri = "Friday"
$sat = "Saturday"
$today = (get-date).DayOfWeek
$choreVac = "Vacuum the rooms and stairs"
$choreBath = "Clean the Bathroom Including emptying the garbage"
$choreOther = "No Chores Today -- But keep dishes done up"
if($today -eq $mon -or $wed -or $fri) {
msg /time:2500 * "Today is a Chore Day: your job is to $choreVac"
}
elseif ($today -eq $tue -or $sat) {
msg /time:2500 * "Today is a Chore Day: your job is to $choreBath and PLEASE do a good job"
}
else {
msg /time:2500 * $choreOther
}
Проблема заключается в том, я не думаю, что это оценивается правильно на день, так что на сегодняшний день во вторник, оцененный результат: $mon -or $wed -or $fri
Если я перекодирую это для каждого дня следующим образом, он работает, как и ожидалось. Почему он не работает с -or
?
if($today -eq $tue) {
msg /time:2500 * $choreBath
}
Ahh Я просто понял это. Я должен полностью квалифицировать его, если ($ today -eq $ mon -or $ today -eq $ wed -or $ today -eq $ fri) {он работает – PCPaul
Не стесняйтесь публиковать ответ на свой вопрос с подробным описанием найденного решения. – Guvante
Вы не должны указывать ответ в вопросе выше :) Я удалил эту часть. –