1 (изменено: xanyman_ne, 2013-10-15 15:33:07)

Тема: CMD/BAT: Периодический перезапуск прогр

Доброго времени суток!
Скажу сразу, что я нуб. А дело у меня очень мне необходимое. Есть программа на работе, количество лицензий в которой ограниченно. И если я выхожу из нее, то обратно трудно к ней пробиться. Сама суть: пытался написать бат, чтоб запускал ее периодически, но так как нуб ничего не вышло. Может поможете в оптимизации труда инженера? Есть еще один момент: о неудачном входе в программу сообщает окно, которое пока не закроешь, прогу не запустить. Надеюсь на вашу помощь.

2

Re: CMD/BAT: Периодический перезапуск прогр

Разговор ни о чём. Где конкретика?

3

Re: CMD/BAT: Периодический перезапуск прогр

Offtop
Если надо контролировать возможное появление окна с ошибкой, то лучше не "батником" это делать, а скриптом на AutoIt. Поищите его инсталл в Сети, в его поставке масса хорошо документированных примеров и можно найти руссифицированную справку.

А еще лучше - порешать организационно вопрос с обязательным выходом коллегами из неиспользуемого экземпляра запущенной задачи, а не самому забирать систематически на себя лицензию.

WBR. Roman

4

Re: CMD/BAT: Периодический перезапуск прогр

Дык вопрос организованного выхода решён - всем постоянно про это напоминают. Но предприятие оченно большое. И всем наплевать. Возможности что-то установить нет, т.к. недостаточно прав. Теперь конкретика: помогите мне с написанием батника, который запускал бы екзешник из каталога (сделано) в случае вывода окна с ошибкой доступа он бы его закрывал, и совершал новую попытку обратиться к экзешнику. В случае вывода другого окна для регистрации пользователя, он бы прекращал циклы. буду благодарен за помощь.

5

Re: CMD/BAT: Периодический перезапуск прогр

xanyman_ne пишет:

Теперь конкретика: помогите мне с написанием батника, который запускал бы екзешник из каталога (сделано) в случае вывода окна с ошибкой доступа он бы его закрывал, и совершал новую попытку обратиться к экзешнику. В случае вывода другого окна для регистрации пользователя, он бы прекращал циклы. буду благодарен за помощь.

Странное у Вас понятие о конкретике - без бутылки не разобраться. Вы имеете в виду GUI-шное приложение? Если так, то лучше использовать VBScript\JScript, чтобы послать окну SendKeys, причем если использовать JScript, то можно его запросто вставить в тело батника.

@set @eenv=0 /*
   @echo off
      rem здесь команда запуска программы
      rem следующая команда вызывает текущий батник как JScript
      cscript //nologo //e:jscript "%~dpnx0"
   exit /b
*/

with (new ActiveXObject('WScript.Shell')) {
   AppActivate('Заголовок окна');
   WScript.Sleep(800);
   SendKeys('%{F4}');
}

Другое дело как узнать об ошибке. Есть, конечно, варианты, но они хоть и не шибко затратны по времени исполнения, но все же. Может можно что-то соорудить с AHK'ом, но лучше, пожалуй, написать небольшое приложения на Сях.