Планувальник завдань Windows з певним днем, що виключає вихідні дні


0

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

Я щось відсутній або як легко вирішити цю проблему без встановлення величезного програмного забезпечення третьої сторони?

Я знайшов DOS / Windows cmd date не можу розібрати дату, тому я не можу порівняти його вихід, так що, можливо, PowerShell (ніколи не використовував його) або cygwin може її вирішити, але здається дуже брудним, щоб викликати unix enviroment для перевірки дати, і якщо він не провалиться, то викликає додаток win32 знову.


Будь ласка, поясніть ваші знижки!
— dmnc

Відповіді:


1

Шкода, що я не можу внести точний код, оскільки я працюю з обмеженим часом / ресурсами, але я вважаю, що у мене є ваше рішення.

Плануйте пакетний скрипт кожні 6 місяців. Цей пакет розбере команду 'date / T' з командного рядка.

Якщо день з 3 листів від "дати" = Пн, Вт, Ср, Чт, Пт ... виконайте своє завдання
Якщо день з трьох букв від "date" = Sat, виконайте своє завдання з затримкою 48 годин (можливо, потрібно буде зробити окреме завдання з цією затримкою)

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

РЕДАГУВАТИ: ви захочете це для дати! http://www.dostips.com/DtTipsStringManipulation.php#Snippets.LeftString


+1 для цього посилання, DOS-маніпуляція з рядками може вирішити це
— dmnc

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()
}

приємний і чистий ...
— dmnc

-1

Ви можете перевірити деталі команди SchTasks у Windows (посилання нижче). Це дає змогу виконати ряд варіантів конфігурації, які повинні служити вашим цілям. Див. Параметри / mo та / d особливо.

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


Чи можете ви навести приклад команди? Тому що, як я сказав, це, ймовірно, неможливо у складі планувальника завдань. Будь ласка, поліпшіть свою відповідь, інакше це для downvote.
— dmnc

Я не жартую. Це приклад? C / P синтаксису? З прикладу я мав на увазі робочий фрагмент коду, а з робочою я маю на увазі конфігурацію, яка працює 6-го числа кожного місяця, а цей день не субота, а не неділя. // Редагувати: він видалив свій коментар із згаданим "прикладом" ...
— dmnc

Якщо ви створюєте свої власні апрельські дурень, створюючи нові профілі та зловживаючи іншими людьми, будь ласка, припиніть, це не такий клівер, як ви думаєте, і ваші рахунки будуть припинені. Серйозно.
— dmnc

Перший - Припиніть пламен, коли хтось намагається вам допомогти. Другий - текст, вставлений в область коментарів, розміщений ненавмисним ENTER, а не SHIFT-ENTER. Ідіть, зробіть це самі.
— nirav

1) це не flaming 2) наступного разу не видаляйте коментарі, на які було надано відповідь 3) вибачте, але я не бачу жодного правила AND / OR у синтаксисі планувальника, чи не так? Так, так напишіть приклад синтаксису 4) якщо вам щось незрозуміло, запитайте мене, і я поясню.
— dmnc
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.