Продолжаю тему создания нетривиальных bat-файлов для тривиальных задач, начатую здесь.
Наверняка многие сталкивались с задачей, когда для каких-либо целей в ОС Windows необходимо создать задание, выполняемое по расписанию (scheduled task).
Для этих целей имеется простой графический интерфейс. Однако как поступить, если задание должно создаваться автоматически?
Попробуем решить эту задачу с использованием примитивного bat-скрипта, который будет выполняться в практически любой версии Windows.
Для удобства, создадим на машине локального технологического пользователя, под которым будет работать наше задание по расписанию. Это удобно тем, что для пользователя можно задать права, которые необходимы только для выполнения определенных действий.
:: Имя локального пользователя, под которым будем работать
set user_name =test_user
:: Пароль для локального пользователя
set user_passw =test_passw
А как известно пользователь должен находиться в группе с определенными правами. Вот тут и возникает определенная сложность, т.к. если в скрипте четко задать имя группы, то могут возникнуть проблемы на машине с другой локализацией, например китайской. И как будет называться на китайском группа «Пользователи» узнать будет не очень просто.
Как сделать запуск программ по расписанию
К счастью, в ОС Windows группы привязаны к так называемому Group SID. Зная, к примеру, Group SID группы «Администраторы», мы можем использовать его в скрипте. Например, S-1-5-32-545 — это локальные пользователи, а S-1-5-32-544 — администраторы.
Теперь нужно определить имя для заданного Group SID, используемого в данной локализации. Тут нам на помощь придет WMIC (WMI command-line).
:: S- 1 — 5 — 32 — 545 — локальные пользователи
Set GroupSID =S- 1 — 5 — 32 — 545
Set GroupName =
For / F «UseBackQ Tokens=1* Delims= #000000»>%% I In ( ` WMIC Group Where «SID = ‘%GroupSID%'» Get Name / Value ^ | Find » #000000″>` ) Do Set GroupName = %% J
Set GroupName = % GroupName:~ 0 ,- 1 %
Нужно знать еще один нюанс. При создании пользователя, в зависимости от системных настроек, задается время истечения пароля. И если пароль нужно будет поменять, то задание по расписанию не будет выполняться. Для этого нам нужно создать пользователя, у которого никогда не истекает пароль. Задать это в стандартной команде net user нельзя (expires:never — задает, что пользователь не может поменять пароль), поэтому опять прибегнем к помощи WMIC:
:: Создание пользователя
net user % user_name % % user_passw % / add / comment: «User for works with application» / expires:never / fullname: % user_name % / passwordchg:no
:: Устанавливаем, чтобы пароль не истекал никогда
:: Либо так — wmic path Win32_UserAccount where Name = ‘%user_name%’ set PasswordExpires = false
wmic USERACCOUNT where Name = ‘%user_name%’ set PasswordExpires = false
:: Добавление локального пользователя в заданную локальную группу
net localgroup % GroupName % % user_name % / ADD
Обратите внимание, что если вы удаляете пользователя командой net user test_user /DELETE, то вам нужно будет вручную удалить его каталог по пути %USERS%test_user либо предусмотреть его удаление в скрипте.
Ну а далее создаем само задание, выполняемое по расписанию:
:: Имя запланированного задания, под которым будет работать приложение
set task_name =Test_task_bat
:: Путь к приложению
set my_app_path = «d:test.bat»
:: Интервал работы приложения во временном задании
:: Valid schedule types: MINUTE, HOURLY, DAILY, WEEKLY, MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE.
:: ЕЖЕМИНУТНО, ЕЖЕЧАСНО, ЕЖЕДНЕВНО, ЕЖЕНЕДЕЛЬНО, ЕЖЕМЕСЯЧНО ПРИ ЗАПУСКЕ ВХОДЕ В СИСТЕМУ ПРИ ПРОСТОЕ
set schtasks_time =MINUTE
:: Начальное время старта приложения во временном задании
set schtasks_start =08:00:00
:: Создание запланированного задания
schtasks / create / tn «%task_name%» / tr % my_app_path % / sc % schtasks_time % / st % schtasks_start % / ru % user_name % / rp % user_passw %
Вот и все. Надеюсь, что мой небольшой мануал окажется полезен и вы сэкономите свое время при выполнении данной задачи.
P.S.
Предвижу подобные вопросы и комментарии: есть же более удобные инструменты, почему именно bat?
Just for fun!
Источник: habr.com
Как автоматизировать запуск программ по расписанию
Автоматизируем компьютер для более комфортного времяпрепровождения. Настраиваем запуск любой программы на ПК по расписанию. Подробная инструкция по созданию расписания автозапуска без установки дополнительного программного обеспечения.
Видеогайд
Источник: www.complandia.ru
Запускать программу по расписанию. Автоматический запуск программ по расписанию с Advanced Key and Mouse Recorder
Планировщик заданий позволяет выполнять команды на сервере хостинга по расписанию.
Управление планировщиком производится в разделе Планировщик заданий .
Особенности планировщика заданий хостинга:
- минимальный интервал выполнения заданий — 1 минута;
- данные со стандартных потоков вывода (stdout) и ошибок (stderr) направляются на «пустое» устройство (/dev/null).
2. Управление заданиями планировщика с помощью панели управления
Для того чтобы создать новое задание:
1. Войдите в панель управления хостингом, используя свой номер договора и пароль.
2. Перейдите в раздел Планировщик заданий .
3. Нажмите кнопку Создать задачу в правом верхнем углу.
4. На следующей странице введите название задачи.
5. Установите время, когда должно выполняться задание. Примеры приведены в п.4 этой инструкции.
6. Выберите в поле Тип файла — Команда . При необходимости вы можете выбрать иной тип.
7. Выберите сайт для которого будет выполняться задание, при необходимости.
8. Заполните поле Путь к файлу или команда и нажмите кнопку Создать .
3. Примеры настройки команд
3.1. Запуск php-скриптов
Для запуска php-скрипта можно воспользоваться следующей командой:
cd $HOME/папка_сайта/docs/папка_скрипта/ php $HOME/папка_сайта/docs/папка_скрипта/имя_скрипта.php
- cd $HOME/папка_сайта/docs/папка_скрипта/ — переход в каталог, в котором размещен скрипт;
- php — интерпретатор php;
- $HOME/папка_сайта/docs/папка_скрипта/имя_скрипта.php — полный путь к скрипту.
3.2. Запуск php-скриптов с параметрами
wget -O — -q «http://сайт/cron.php?var1=xxx
- wget — путь к программе wget ,
- http://сайт/cron.php?var1=xxx Администрирование -> Планировщик заданий .
В расположенном справа меню Действия нажмите Создать задачу (или Создать простую задачу ).
В окне введите название новой задачи и ее описание. Если нужно запускать программу с повышенными правами администратора, то активируйте функцию Выполнить с наивысшими правами .
Переключитесь на вкладку , нажмите кнопку Создать и назначьте дату, время и частоту выполнения задачи. Чтобы установить дату, когда выполнение задачи по расписанию будет прекращено, активируйте функцию Срок действия и укажите дату и время.
Перейдите на вкладку Действия и нажмите кнопку Создать .
Чтобы запланировать выполнение программы по указанному расписанию, в раскрывающемся списке Действие выберите и с помощью кнопки Обзор укажите местоположение исполняемого файла.
Чтобы запланировать отправку электронной почты по расписанию, в раскрывающемся списке Действие выберите Отправка электронной почты и заполните стандартные поля: От (ваши имя и адрес электронной почты), Кому (имя и адрес получателя письма), Тема (заголовок письма) и Текст (текст сообщения). Если нужно прикрепить файлы к отправляемому сообщению, с помощью кнопки Обзор укажите местоположение файла, который хотите прикрепить. В поле Сервер smtp укажите smtp-сервер поставщика своей электронной почты (например, smtp.mail.ru ) и нажмите OK .
Очень удобная вещь, когда нужно напомнить себе о том, что через 5 минут наступит Новый год, что пора покормить кошку, выключить суп или зайти на сайт Windows 7 – Впечатления и факты. Выглядеть такое сообщение будет примерно так:
Перейдите на вкладку Условия и укажите условия выполнения задачи.
Также можно задать дополнительные параметры выполнения задачи на вкладке .
После завершения всех этих действий, нажмите OK , чтобы создать задачу.
Чтобы изменить созданное задание, откройте Планировщик заданий, выделите задачу в списке, в правом меню Действия выберите Свойства , отредактируйте нужные параметры и нажмите OK .
Чтобы удалить запланированное задание, откройте Планировщик заданий, выделите задачу в списке, в правом меню Действия выберите Удалить и подтвердите свои намерения.
Примечание . Чтобы Планировщик заданий функционировал, служба планировщика заданий должна автоматически запускаться вместе с Windows 7. Откройте Панель управления (расширенный вид) -> Администрирование -> Службы . В списке служб найдите, дважды щелкните по ней, на вкладке Общие установите тип запуска Авто и нажмите OK .
На этой странице хочу рассказать, как создать назначенное задание в Windows 2008 и Windows 2008 R2 .
Назначенные задания служат для выполнения какой-либо задачи по расписанию. Автоматический запуск программы по расписанию настраивается в планировщике заданий, основной задачей которого является запуск программы в зависимости от определенных условий:
- наступление определенного времени;
- смена состояния системы (выключение, ждущий режим и т.д.);
- ручной запуск через интерфейс планировщика заданий.
Итак, создание назначенного задания в Windows 2008:
1. Нажимаем кнопку «Пуск» и выбираем пункт «Панель управления»:
2. В появившемся окне выбираем «Администрирование»:
4. В планировщике заданий создаем простую задачу:
5. Вписываем имя нашей задачи и ее описание. Жмем «Далее»:
6. Выбираем периодичность запуска. Жмем «Далее»:
8. Выбираем действие «Запустить программу». Жмем «Далее»:
9. Жмем кнопку «Обзор» и выбираем наш исполняемый файл, запуск которого мы хотим осуществить. Жмем «Далее»:
10. Указываем галочку дополнительных настроек. Жмем «Готово»:
11. По умолчанию назначенное задание запускается от имени того, кто его создал. Если необходимо изменить пользователя, нажмите кнопку «Изменить» и выберите нового пользователя. Поставьте отметку «Выполнить с наивысшими правами» и нажмите «ОК»:
Все! Наше назначенное задание готово!
Системному администратору Windows приходится выполнять одни и те же операции каждый день — выполнять архивацию важных данных, диагностировать сеть, удалять временные файлы и т.д.
Вы хотели бы автоматизировать эти операции? Я думаю что ответ будет — Да. Специально для этих целей есть несколько возможностей в Windows 10 и в этой статье попробуем рассмотреть каждый из них.
Планирощик заданий Windows 10
Планировщик заданий Windows — это графическая утилита встроенная в операционную систему Windows 10, которая служит для запуска команд, сценариев и программ.
Как открыть планировщик задач WIndows 10? Открытите и настройка параметров в Windows 10 производится следующим образом: Пуск — Средства администрирования Windows — Назначенные задания. Но лично я открываю планировщик более коротким путем — В панели задач (таскбаре) во вкладке «Поиск» ввожу название программы «Планировщик», далее Windows 10 находит его. Задания в планировщике могут быть назначены на однократный, поминутный запуск, запуск через определенный интервал, т.е. можно настроить автозапуск программы по расписанию.
Schtasks — планировщик заданий командной строки
Schtasks — планировщик заданий Windows через командную строку , это продвинутая утилита позволяет запускать задания через командную строку Windows 10 . Утилита выполняет те же операции что и графическая, но управляется из командной строки, что позволяет через командные файлы запускать задания на выполнение. Хорошая возможность, не правда ли?
Запуск заданий в программе CronNT
CronNT — программа для запуска заданий из мира Linux. Гораздо удобнее пользоваться этой программой для запуска заданий — установить программу как службу Windows 10, настроить на автоматический запуск и наслаждаться. Параметры программы хранятся в файле CronNT.tab, ведется лог действий — так что запуск заданий можно будет отследить по журналу. Очень удобная программа — всем советую!
На этом обзорный лайфхак по планировщику Windows 10 завершен, если остались вопросы пишите комментарии в группе ВК и Инстаграм!
xStarter автоматизирует выполнение повседневных задач по планировщику или событиям системы.
Ключевые преимущества
Сократите свое рабочее время на 35%.
Создав макросы на ваши повседневные задачи, вы избавляете себя от рутины. А выполнять эти макросы компьютер с помощью xStarter может и в ваше отсутствие по расписанию.
Позаботьтесь о сохранности ваших данных.
Если автоматическое создание резервных копий ваших документов и электронной почты не требует почти никаких усилий, то почему бы ни делать это?
Замена планировщику Windows.
Расширенный планировщик xStarter позволит вам более точно задавать момент запуска программы или выполнения задачи. Задачи могут запускаться точно в указанное время, периодически или по комплексному формату. При работе xStarter в режиме сервиса NT возможен запуск задач даже при отсутствии активных пользователей.
Отслеживание изменений файлов и каталогов.
Как только в указанном каталоге появился новый файл, программа xStarter сообщит вам об этом или произведет любое действие. Таким же образом xStarter отслеживает изменения и удаления файлов и каталогов, включая изменения в подкаталогах.
Действия в Internet.
Отправлять и получать электронную почту, работать с файлами через FTP и HTTP — вот лишь краткий список того, что вы сможете автоматизировать при работе с Internet. Например: получать ежедневные отчеты и сохранять их в указанный каталог; отправлять оповещения о выполненных задачах без помощи пользователя; скачивать log и другие файлы и т.д.
Макросы Windows.
Вы можете записывать макросы, работая в любых программах и с любыми объектами в среде Microsoft Windows, с помощью xStarter. Каждый макрос — это файл, который содержит последовательность записанных движений и кликов мыши, нажатий кнопок клавиатуры. Этот файл может быть воспроизведен в любое время по расписанию или горячей клавише, как будто эти действия выполняете вы сами.
Удаленное управление.
С помощью xStarter Web Pilot становится возможным запускать задачи на удаленных компьютерах, просматривать задачи и их логи, отключать/включать.
Компиляция задач.
Из задач xStarter можно создавать.exe файлы и переносить задачи между компьютерами. При запуске задач пользователи могут заполнять некоторые параметры, специфические для данного пользователя или компьютера.
Firebird/Interbase.
Специальная версия xStarter Job Scheduler for Firebird/Interbase позволяет выполнять специфические задачи для указанных серверов баз данных. С помощью этой версии можно выполнять SQL скрипты, делать backup/restore баз данных и т.д.
Автоматизация задач без навыков программирования.
Каждая задача xStarter состоит из набора действий. Действия нацелены на выполнение различных функций, вот лишь некоторые из них:
- запуск программ;
- вывод сообщений на экран;
- подключение к Internet;
- синхронизация каталогов;
- операции с окнами;
- операции с текстовыми и log файлами;
- отключение и подключение сетевых каталогов;
- и т.д.
Задачи могут выполняться по расписанию, по горячим клавишам или по событиям системы.
Системные требования
Intel Pentium или совместимый процессор
Windows NT4/2000/XP/2003/VistaИсточник: nexxdigital.ru