|
Компьютерный форум 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:
Нет ) на самом деле это обычная программа для Маннинга на процессорах исходное название не помню но в CPUSTATS.EXE это я уже сам переименовал. 2 папки день и ночь нужны потому что в первом случаи майнинг идет на 2 потока а ночью на 4. и эти настройки прописаны в файле config. Насчет окна CMD если запускать в ручную то да в окне есть информация а если запускать с планировщика задачь то он работает в скрытом режиме. Далее. Сейчас нашел немного другую программу суть её в том что она должна запускаться в командной строке с параметрами: xxxx.exe -o stratum+tcp://bcn.pool.minergate.com:45550 -u (user) -p x -t 2 - это запуск днем xxxx.exe -o stratum+tcp://bcn.pool.minergate.com:45550 -u (user) -p x -t 4 - это запуск ночью Разница в том что программа та что сейчас она берет настройки из файла, а программа которую нашел запускается с параметрами.. Уважаемый megaloman может быть получиться сделать скрипт который будет просто подставлять нужные команды для запуска файла. Тоесть файл будет 1 но запускаться должен либо с t2 либо с t4 Временной интервал с 8 утра до 18:00 с t2 а с 21:00 до 6:00 с параметром t4 Примерно я себе это представляю так делаю 2 bat фала и пописываю разные команды, скрипт должен выбрать какой bat файл запустить.. |
|
Последний раз редактировалось p.igor.kin, 21-07-2017 в 14:21. Отправлено: 14:09, 21-07-2017 | #41 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать p.igor.kin, а моим батником по времени программа запускается? Вы хотите получить те же грабли, какая разница, что запускать, если оно не запустится. У меня была другая идея: сначала запускаем батник, который копирует в другое место программу с нужным конфигом, а затем оттуда уже запускаем программу. В задании прописываем батник, и во втором задании запуск программы, кажется в планировщике есть возможность запуска с задержкой. Не могу посмотреть, пишу с мобилки
|
------- Отправлено: 15:27, 21-07-2017 | #42 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
![]() Цитата megaloman:
+++ 21.07.2017 16:11:13,61 C:\Program Files\cpustats\start.bat Started !!! Testing If 1080000 LEQ 1161113 If 1161113 LSS 1180000 Call :Starting "C:\Program Files\cpustats\dau\cpustats.exe" +++ 21.07.2017 "C:\Program Files\cpustats\dau\cpustats.exe" Selected +++ 21.07.2017 16:11:13,69 "C:\Program Files\cpustats\dau\cpustats.exe" Try start !!! Testing If 1200000 LEQ 1161113 If 1161113 LSS 1240000 Call :Starting "C:\Program Files\cpustats\night\cpustats.exe" !!! Testing If 1000000 LEQ 1161113 If 1161113 LSS 1060000 Call :Starting "C:\Program Files\cpustats\night\cpustats.exe" === 21.07.2017 16:11:13,71 C:\Program Files\cpustats\start.bat Exit Получается что все работает? Остается проверить только время и какая программа запускаеться |
||
Последний раз редактировалось p.igor.kin, 21-07-2017 в 16:18. Отправлено: 16:12, 21-07-2017 | #43 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать p.igor.kin, Вы счастливы? Я рад за Вас
![]() Для CMD я бы посоветовал:
1. удалить или закомментировать тестовую выдачу в лог-файл 2. сделать, чтобы лог-файл писался рядом с батником, если хватает прав. 3. Если интересен лог-файл только за последний запуск, чтобы он не разрастался, убрать один знак > из строки: Цитата p.igor.kin:
+++ 21.07.2017 16:11:13,61 C:\Program Files\cpustats\start.bat Started - стартовал батник +++ 21.07.2017 "C:\Program Files\cpustats\dau\cpustats.exe" Selected - для запуска выбрана именно эта программа (виноват, забыл добавить отображение времени, в скрипте исправил) +++ 21.07.2017 16:11:13,69 "C:\Program Files\cpustats\dau\cpustats.exe" Try start - пытаемся её запустить === 21.07.2017 16:11:13,71 C:\Program Files\cpustats\start.bat Exit - батник отработал Что касается VBS-скрипта, то проблема осталась
1. Судя по Вашим сообщениям, если скрипт запускать руками, то программа cpustats.exe нормально запускается и скрипт завершается
2. При запуске скрипта из планировщика от имени системы скрипт запускается и постоянно находится в памяти. Программа cpustats.exe не запускается. 3. При запуске скрипта из планировщика от имени системы скрипт запускается, запускает программу calc.exe и благополучно завершается. То есть, логика скрипта вроде бы работает, но причины проблем с запуском именно программы cpustats.exe не определены. |
|
------- Последний раз редактировалось megaloman, 23-07-2017 в 00:16. Отправлено: 21:59, 21-07-2017 | #44 |
Новый участник Сообщения: 27
|
Профиль | Отправить PM | Цитировать Уважаемый megaloman хочу выразить Вам огромную благодарность за помощь в написании данного скрипта. Спасибо Вам большое!
Скрипт работает как надо! Единственное хотелось бы немного его изменить отключить файл лог и сделать завершение процессов перед запуском. (на всякий случай) я немного переименовал exe файлы для понятливости. Скажите если я в самом начале Вашего скрипта сделаю так: @Echo Off taskkill /f /im cpudau.exe > Nul taskkill /f /im cpunight.exe > Nul timeout /T 2 Set /A N=3 Будут ли у меня убиваться данные процессы если они есть, а затем запускаться новые? и будет ли такой скрипт вообще правильным? И как полностью убрать файл лог? (программа скрытая лишний лог ни к чему) |
Последний раз редактировалось p.igor.kin, 25-07-2017 в 15:37. Отправлено: 10:20, 25-07-2017 | #45 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Значит, таки майнер лепите?
|
Отправлено: 17:34, 25-07-2017 | #46 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать p.igor.kin: "...хотелось бы немного его изменить..."
@Echo Off Set /A N=3 Set "Prg1=C:\Program Files\7-Zip\7zG.exe" Set "Tb_1=08:00:00" Set "Te_1=16:00:00" Set "Prg2=C:\Program Files\WinRar\WinRar.exe" Set "Tb_2=17:00:00" Set "Te_2=24:00:00" Set "Prg3=C:\Program Files\WinRar\WinRar.exe" Set "Tb_3=00:00:00" Set "Te_3=06:00:00" Set "LogFile=%~dpnx0.log" rem Если не нужен лог-файл, имя лог-файла сделать пустым Set "LogFile=" Set Abend="7zG.exe" "WinRar.exe" For %%k In (%Abend%) Do taskkill /f /im %%k >nul 2>&1 Set "Ttime=%Time:~0,-3%" Call :ReTime "Ttime" If Not "%LogFile%"=="" >"%LogFile%" (Echo: &Echo +++ %Date% %Time% %~dpnx0 Started) FOR /L %%i IN (1,1,%N%) DO Call :Program "Prg%%i" "Tb_%%i" "Te_%%i" %Ttime% If Not "%LogFile%"=="" >>"%LogFile%" Echo === %Date% %Time% %~dpnx0 Exit GoTo :Eof :Program Call Set "Prg=%%%~1%%" Call Set "Tb=%%%~2%%" Call Set "Te=%%%~3%%" Call :ReTime "Tb" Call :ReTime "Te" If %Tb% LEQ %4 If %4 LSS %Te% Call :Starting "%Prg%" GoTo :Eof :ReTime Call Set "@Ident=%%%~1%%" Set "@Ident=%@Ident: =0%" Set "@Ident=1%@Ident::=%" Call Set /A %~1=%@Ident% GoTo :Eof :Starting If Not "%LogFile%"=="" >>"%LogFile%" Echo +++ %Date% %1 Selected If Exist %1 ( Pushd "%~dp1" If Not "%LogFile%"=="" >>"%LogFile%" Echo +++ %Date% %Time% %1 Try start Start " " %1 || If Not "%LogFile%"=="" >>"%LogFile%" Echo --- %Date% %Time% %1 Start not success Popd ) Else ( If Not "%LogFile%"=="" >>"%LogFile%" Echo ??? %Date% %Time% %1 Not Found ) GoTo :Eof |
------- Отправлено: 20:45, 25-07-2017 | #47 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Доступ - [решено] Политика запуска программ | 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 |
|