Я заметил, что вы можете установить день месяца только как положительное число 1..31 в графическом интерфейсе запланированных задач в Windows (Windows server 2003).
Можно ли запустить задачу только на последний день месяца? (Это не фиксированный день, например, в феврале это может быть 28 или 29 день месяца, а в другие месяцы это может быть 30 или 31 число.)
Связанный с этим вопрос: если я поставлю задачу на выполнение 31 числа каждого месяца, будет ли она выполняться в месяцы с меньшим количеством дней? Или в таких случаях он будет работать 1 числа следующего месяца?
Создайте задачу с помощью schtasks команда с /mo LASTDAY
вариант:
schtasks планирует выполнение команд и программ периодически или в определенное время. Добавляет и удаляет задачи из расписания, запускает и останавливает задачи по запросу, а также отображает и изменяет запланированные задачи.
Синтаксис:
schtasks /create /tn TaskName /tr TaskRun /sc schedule [/mo modifier] [/d day] [/m month[,month...] [/i IdleTime] [/st StartTime] [/sd StartDate] [/ed EndDate] [/s computer [/u [domain\]user /p password]] [/ru {[Domain\]User | "System"} [/rp Password]] /?
Не уверен, что графический интерфейс поддерживает это изначально, но вы можете получить задачу запустить сценарий vbs или что-то еще заранее. Что-то вроде:
sub LastDateOfCurMonth () dim lstDateCurMonth, fstDateCurMonth, fstDateNxtMonth fstDateCurMonth = "01 /" & Месяц (дата) & "/" & Год (Дата) fstDateNxtMonth = DateAdd ("m", 1thDateCurMonth = DateAdd ("m", 1thDateCurMonth) -1, fstDateNxtMonth) wscript.echo "Последняя дата текущего месяца:" & lstDateCurMonth End Sub
Установите несколько расписаний для одной и той же задачи. Одно расписание на месяцы, заканчивающиеся 31-го числа, одно на месяцы, заканчивающиеся 30-го числа, а другое - на 28-е. Все, что вам нужно сделать, это дать каждой задаче уникальное имя.