|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Скрипт запуска программ по времяни |
|
CMD/BAT - [решено] Скрипт запуска программ по времяни
|
Новый участник Сообщения: 27 |
Добрый день. Прошу прощения если пишу не в ту ветку форума. Нужна ваша помощь в написании скрипта который мог бы запускать определенный exe файл в зависимости от времени на компьютере. К сожалению я сам работал очень мало со скриптами и сам написать такой не смогу
Подробнее о задаче: допустим включается компьютер с 8 утра и до 5 вечера в любое время в этот момент должен запуститься файл 1.exe, и он же должен сам закончить свое выполнение часов в 16:30 а Если компьютер включается с 0 часов до 7 утра то должен запуститься файл 2.exe. и так же закончить свое выполнение часов в 6 утра. Предполагается что данный скрипт будет запускаться планировщиком задач при включении компьютера. оба файла лежат по пути (C:\Program Files\cpustats) Помогите пожалуйста. Очень нужно для работы Если нужны доп. данные пишите. Заранее большое спасибо |
|
Отправлено: 12:42, 29-06-2017 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Цитата megaloman:
Цитата megaloman:
http://forum.oszone.net/post-2752418-26.html - вот тут я описал как у меня настроено сейчас. |
|||
Отправлено: 09:21, 19-07-2017 | #31 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать p.igor.kin, давайте ссылки на Ваши cpustats.exe и прочее, дабы коллега megaloman мог попробовать воспроизвести Ваши действия.
|
Отправлено: 09:31, 19-07-2017 | #32 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 09:40, 19-07-2017 | #33 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Можно думать, а можно проверить. Дело Ваше.
|
Отправлено: 10:39, 19-07-2017 | #34 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать p.igor.kin,
Цитата Iska:
ProgStart = Array("C:\Windows\System32\calc.exe", "08:00:00", "18:00:00", _ "C:\Windows\System32\calc.exe", "20:00:00", "23:59:59", _ "C:\Windows\System32\calc.exe", "00:00:00", "06:00:00") Альтернатива vbs - cmd. Если этот батник запустит Вашу программу, можно попробовать наваять решение задачи в CMD
@Echo Off Set "Prog=C:\Program Files\cpustats\dau\cpustats.exe" Set "LogFile=Z:\zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.log" Call :Starting "%Prog%" GoTo :Eof :Starting >>"%LogFile%" (Echo: &Echo +++ %Date% %Time% %~dpnx0 Selected %1) If Exist %1 ( Pushd "%~dp1" >>"%LogFile%" Echo +++ %Date% %Time% %1 Try start Start " " %1 || >>"%LogFile%" Echo --- %Date% %Time% %1 Start not success Popd ) Else ( >>"%LogFile%" Echo ??? %Date% %Time% %1 Not Found ) >>"%LogFile%" Echo === %Date% %Time% %~dpnx0 Exit GoTo :Eof А тут уже наваял
@Echo Off Set /A N=3 Set "Prg1=C:\Program Files\cpustats\dau\cpustats.exe" Set "Tb_1=08:00:00" Set "Te_1=18:00:00" Set "Prg2=C:\Program Files\cpustats\night\cpustats.exe" Set "Tb_2=20:00:00" Set "Te_2=24:00:00" Set "Prg3=C:\Program Files\cpustats\night\cpustats.exe" Set "Tb_3=00:00:00" Set "Te_3=06:00:00" |
|
------- Последний раз редактировалось megaloman, 21-07-2017 в 22:23. Отправлено: 15:31, 19-07-2017 | #35 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Прошу прощения за долгий ответ взял скрипт "А тут уже навязал" подставил свою программу назвал как start.bat запустил и получил:
+++ 20.07.2017 16:11:57,88 C:\Program Files\cpustats\start.bat Started === 20.07.2017 16:11:57,94 C:\Program Files\cpustats\start.bat Exit Если сохраняю как start.vbs то получаю ошибку... Сейчас буду проверять запуск предыдущего скрипта на калькуляторе...... Проверил при коде: ProgStart = Array("C:\Windows\System32\calc.exe", "08:00:00", "18:00:00", _ "C:\Windows\System32\calc.exe", "20:00:00", "23:59:59", _ "C:\Windows\System32\calc.exe", "00:00:00", "06:00:00") +++ 20.07.2017 16:23:46 C:\Windows\System32\calc.exe Запущено === 20.07.2017 16:23:46 Скрипт завершается и calc.exe висит в процессах Посмотрел в свойствах файлов вкладка безопасность Там есть "система" и стоит полный доступ тоесть по сути файлы должны запускаться от имени система! |
Последний раз редактировалось p.igor.kin, 20-07-2017 в 16:29. Отправлено: 16:13, 20-07-2017 | #36 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Цитата megaloman:
+++ 20.07.2017 16:31:53,62 C:\Program Files\cpustats\start.bat Selected "C:\Program Files\cpustats\dau\cpustats.exe" +++ 20.07.2017 16:31:53,63 "C:\Program Files\cpustats\dau\cpustats.exe" Try start === 20.07.2017 16:31:53,63 C:\Program Files\cpustats\start.bat Exit При запуске скрипта через планировщик от имени системы: +++ 20.07.2017 16:33:07,62 C:\Program Files\cpustats\start.bat Selected "C:\Program Files\cpustats\dau\cpustats.exe" +++ 20.07.2017 16:33:07,62 "C:\Program Files\cpustats\dau\cpustats.exe" Try start === 20.07.2017 16:33:07,67 C:\Program Files\cpustats\start.bat Exit Время в системе не совсем понял вопроса? 16:34 ![]() |
||
Отправлено: 16:34, 20-07-2017 | #37 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Цитата p.igor.kin:
Для отладки скрипта "Уже наваял" я вставил отладочную строку (см. выше, выделено красным). Что появилось в лог-файле? В первой половине дня в каком виде выдаётся результат команды в командном окне Echo "%Time%" |
|
------- Отправлено: 16:41, 20-07-2017 | #38 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать По порядку скрипт что ниже работает как надо... Программа в диспетчере появляется хоть при запуске в ручную, хоть при запуске через планировщик
Скрипт
@Echo Off Set "Prog=C:\Program Files\cpustats\dau\cpustats.exe" Set "LogFile=Z:\zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz.log" Call :Starting "%Prog%" GoTo :Eof :Starting >>"%LogFile%" (Echo: &Echo +++ %Date% %Time% %~dpnx0 Selected %1) If Exist %1 ( Pushd "%~dp1" >>"%LogFile%" Echo +++ %Date% %Time% %1 Try start Start " " %1 || >>"%LogFile%" Echo --- %Date% %Time% %1 Start not success Popd ) Else ( >>"%LogFile%" Echo ??? %Date% %Time% %1 Not Found ) >>"%LogFile%" Echo === %Date% %Time% %~dpnx0 Exit GoTo :Eof Дальше скрипт "А тут уже наваял" (ни чего не менял) При запуске в ручную пишет в логе: +++ 20.07.2017 16:51:00,36 C:\Program Files\cpustats\start.bat Started !!! Testing If 1080000 LEQ 1165100 If 1165100 LSS 1160000 Call :Starting "C:\Program Files\7-Zip\7zG.exe" !!! Testing If 1170000 LEQ 1165100 If 1165100 LSS 1240000 Call :Starting "C:\Program Files\WinRar\WinRar.exe" !!! Testing If 1000000 LEQ 1165100 If 1165100 LSS 1060000 Call :Starting "C:\Program Files\WinRar\WinRar.exe" === 20.07.2017 16:51:00,42 C:\Program Files\cpustats\start.bat Exit При запуске из планировщика пишет в логе: +++ 20.07.2017 16:52:44,72 C:\Program Files\cpustats\start.bat Started !!! Testing If 1080000 LEQ 1165244 If 1165244 LSS 1160000 Call :Starting "C:\Program Files\7-Zip\7zG.exe" !!! Testing If 1170000 LEQ 1165244 If 1165244 LSS 1240000 Call :Starting "C:\Program Files\WinRar\WinRar.exe" !!! Testing If 1000000 LEQ 1165244 If 1165244 LSS 1060000 Call :Starting "C:\Program Files\WinRar\WinRar.exe" === 20.07.2017 16:52:44,81 C:\Program Files\cpustats\start.bat Exit результат Echo "%Time%" -->> "16:53:57,01" И если поменять время на 8 утра то Echo "%Time%"-->> " 8:54:57,29" Дальше Если в Ваш старый скрипт вставить строчки (тесть заменить мои программы на калькулятор) строчки
И запустить его через планировщик от имени "СИСТЕМА" В логе появляется: +++ 20.07.2017 16:23:46 Скрипт запущен +++ 20.07.2017 16:23:46 C:\Windows\System32\calc.exe Запущено === 20.07.2017 16:23:46 Скрипт завершается и calc.exe висит в процессах |
Последний раз редактировалось p.igor.kin, 20-07-2017 в 17:00. Отправлено: 16:53, 20-07-2017 | #39 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Цитата p.igor.kin:
!!! Testing If 1170000 LEQ 1165244 If 1165244 LSS 1240000 Перед числами 1 следует отбросить, итого получаем время. Условие, в переводе на понятный формат, получится: текущее время 16:52:44 Если 17:00:00<=16:52:44 и Если 16:52:44<24:00:00 то есть, в мат виде 17:00:00<=16:52:44<24:00:00 - очевидно условие не выполняется Так и по остальным интервалам Задайте корректные интервалы. Цитата p.igor.kin:
Попутный вопрос: как я понял, программа cpustats.exe запускается в командном окне. При запуске появляются какие-либо сообщения (в норме и в аварийном случае)? Поискал в сети, это речь об одном и том же?
Цитата:
|
|||
------- Последний раз редактировалось megaloman, 21-07-2017 в 10:19. Отправлено: 17:29, 20-07-2017 | #40 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Доступ - [решено] Политика запуска программ | paull2006 | Microsoft Windows 8 и 8.1 | 8 | 02-10-2015 12:41 | |
CMD/BAT - [решено] скрипт для запуска 2-х программ (.exe) | meGangstaWorld | Скриптовые языки администрирования Windows | 8 | 10-06-2013 21:55 | |
Загрузка - Ускорение запуска программ | d_stor | Microsoft Windows 7 | 0 | 06-01-2013 01:21 | |
CMD/BAT - Как написать CMD скрипт для запуска определенного файла по дате и времени | traxomot | Скриптовые языки администрирования Windows | 1 | 15-12-2010 11:50 | |
VBS/WHS/JS - Скрипт для последовательного запуска нескольких программ | skatet | Программирование и базы данных | 10 | 21-11-2007 17:02 |
|