Планувальник завдань 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.