С помощью Windows Task Sheduler я должен создать задачу, которая будет выполняться 6-го числа каждого месяца, кроме выходных. Если 6-й день выходных, задание будет выполнено в понедельник (7-го или 8-го). Я ожидал создания двух правил с логикой AND одно из которых разрешает 1-й день недели, а второе запрещает дни 1-5, но это не поддерживается.

Я что-то упустил или как легко решить эту проблему без установки какого-либо огромного программного обеспечения сторонних производителей?

Я обнаружил, что date DOS/Windows cmd не может анализировать дату, поэтому я не могу сравнить ее вывод, поэтому, возможно, PowerShell (еще никогда не использовал ее) или cygwin могут решить эту проблему, но, кажется, очень грязно вызывать среду unix для проверки даты и если это не сбои, то вызывая приложение Win32 снова.

3 ответа3

1

Извините, я не могу предоставить точный код, так как я работаю с ограниченными ресурсами и временем, но я верю, что у вас есть решение.

Запланируйте пакетный сценарий каждые 6 месяцев. Эта партия будет анализировать команду date /T из командной строки.

Если 3-х буквенный день от "дата" = пн, вт, ср, чт, пт ... выполни свою задачу
Если трехбуквенный день от "date" = Sat, выполнить задачу с задержкой в 48 часов (возможно, потребуется выполнить отдельную задачу с этой задержкой)

То же самое с «Солнцем», но вам потребуется 24-часовая задержка.
Я надеюсь, что это ставит вас на путь к вашему решению.

РЕДАКТИРОВАТЬ: вы хотите это на сегодняшний день! http://www.dostips.com/DtTipsStringManipulation.php#Snippets.LeftString

1

Используйте Powershell или VBA в качестве цели задачи и запланируйте ежедневное выполнение задачи.

Идея Powershell для начала:

$dayName = Get-Date -Format dddd
$dayNum = Get-Date -Format dd

if (($dayNum -eq "06" -and $dayName -ne "Saturday" -and $dayName -ne "Sunday") -or ($dayName -eq "Monday" -and ($dayNum -eq "07" -or $dayNum -eq "08"))) { 
    RunTask()
}
-1

Вы можете проверить детали команды SchTasks в Windows (ссылка ниже). Это позволяет использовать несколько параметров конфигурации, которые должны хорошо соответствовать вашим целям. Смотрите опции / мо и / д особенно.

http://technet.microsoft.com/en-us/library/cc772785(v=ws.10).aspx

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .