У меня проблема со сценарием, который я пишу для своего сына. Мое намерение — просто напомнить ему, чтобы он помнил о своих делах. Я только недавно начал использовать PowerShell, и мне это очень нравится. Я купил пару книг и просмотрел множество других постов.
То, что у меня есть до сих пор, ниже, кажется, если оценки не работают правильно с -or
(или, может быть, я ошибся?)
## 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
}