Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

В bat файле требуется, что бы он сам перезапускался через какое-то время после завершения. Как это сделать?

Мудрствующий Бейгл Мыслитель (8388), на голосовании 4 года назад
Дело в том, что в параллельном скрипте идёт команда, которая убивает все cmd процессы. Нужно, что бы скрипт каким то образом себя перезапустил после этого. Но только единоразово.
Нет, убрать команду, убивающую cmd нельзя.
Голосование за лучший ответ
Иван Сигаев Искусственный Интеллект (150015) 4 года назад
То есть нужно создать программу, которая будет запускаться после ее закрытия принудительно ?

Никак такое не получится, только внешняя следилка ( которую нельзя будет писать на .bat, поскольку убивалка процессов cmd убьет и эту "запускалку" )
Мудрствующий БейглМыслитель (8388) 4 года назад
А через планировщик задач или что-то подобное?
Иван Сигаев Искусственный Интеллект (150015) Планировщик это и есть внешняя следилка, но она к .bat имеет крайне мало отношения
MalkoR Гуру (2690) 4 года назад
1. вариант, cron запускает скрипт, который в начале должен проверять, нет ли уже запущенного экземпляра и прекращать работу если уже есть.
2. вариант, в скрипте убивающий все cmd, сделать фильтрацию убивать только те процессы, которые он должен убивать. (более правильный вариант)
Мудрствующий БейглМыслитель (8388) 4 года назад
Была бы у меня возможность менять параллельный поток - я бы просто перенёс убийцу в конец своего скрипта.
Важно, что скрипт должен выполняться на 7-ке и 10-ке дефолтными средствами.
MalkoR Гуру (2690) Ну остается написать свою программку, которая будет выполнять то что выполняет твой батник, и скомпилировать в exe ))) По сути, это не сложно, можно все команды из батника выполнять как внешние команды. file.bat command1 command2 command3 .. file.c #include int main(void) { system("command1"); system("command2"); system("command3"); ... return 0; }
Похожие вопросы