![]() |
Батник на выключение батника при включении определенных программах
Доброго времени, Господа. Есть проблема, не хватает серого вещества у меня на ее решение.
В общем, есть батник запускаемый под вин10 через планировщик задач при запуске компа, задача состоит в том, чтобы написать батник, который вырубал бы его при включении определенных программ из списка. Как я себе это представляю, оба батника запускаются через планировщик, один рабочий самый первый, второй просто постоянно находится в фоне и ничего не делает основное время, в нем внутри находится список программ-триггеров, второй батник закрывает полностью первый, и вот как это реализовать знаний моих не хватает. Основной список программ триггеров скорее всего, steam, chrome, gamecenter, wgc, uplay. Сейчас все происходит посредством запуска второго батника на рабочем столе с taskkill /IM FSR.bat /F. Автоматический запуск первого батника реализован через тот же планировщик задач при простое ПК. На данный момент я додумал только вот такое. Но что-то я не правильно сделал... При включенном браузере например или стиме, пейнт не закрывается Код:
@Echo |
mr.djdig@vk, Я бы предложил другой подход:
Запускаем "один рабочий самый первый батник" через vbs-скрипт. В том же скрипте задан список тех процессов, при появлении любого из них убиваем "один рабочий самый первый батник" При этом, естественно vbs-скрипт завершается. Если до запуска скрипта процессы из списка были запущены, батник убит не будет, батник убивается только при появлении процессов после запуска скрипта. Код:
Option Explicit Если "один рабочий самый первый батник" необходимо запустить в скрытом окне
Код:
Option Explicit |
Добрый вечер/день, не было возможности зайти в тему посмотреть ответы. В первую очередь спасибо за них) Попробую вариант с запуском через vbs.
Цитата:
Сама суть задачи этого батника и причины, домашний ПК используется в вычислительных операциях, дабы домочадцы в виде малых лет детей и не особо разбирающихся взрослых ничего не понатыкали и/или случайно не выключили, используется так же планировщик который запустит все это дело. А вот в моменты когда на ПК выполняются какие либо ресурсозатратные задачи по типу игрушек, работы итд, нужен второй батник для завершения первого батника, как-то так. Попробую реализовать это через vbs который так же будет запускаться при простое, возможно? Сам особо в vbs не знаю, ранее использовалось все так, что в винде было два пользователя и когда нужно было, заходили под второй учеткой и там все делали, а уже в первой просто первый батник стоял на автозагрузке через ярлык, но сейчас это стало не очень удобно тк нужна автоматизация и автономность в моменты когда я не дома. |
mr.djdig@vk, Вам не надо запускать программу батником, если он состоит только из одной строки Start. Напрямую VBS. Но это не решит задачу повторного запуска этого процесса.
|
я делал так:
tasklist | find "Far.exe" if errorlevel 1 goto Start_1 if errorlevel 0 goto Goto OS :Start_1 выполняем что хотели... Goto OS :OS exit |
Так, в общем то, я вроде как с помощью костылей небольших разобрался как это сделать! Всем спасибо за помощь!
Код:
@echo off |
mr.djdig@vk, Показанный Вами батник - не очень хорошая идея, он будет грузить процессор. И где повторный запуск главного процесса?
Цитата:
Как работает: Вы запускаете скрипт планировщиком.
1. Если у Вас не запущена основная программа (сейчас - mspaint.exe) и все программы из списка, запускаем основную программу. 2. Скрипт ждет появления одной из программ из списка 3. Как только такая программа появляется - основная программа убивается. 4. Скрипт в цикле с паузой (не надо излишне грузить процессор) опрашивает начиная с п.1 и, пока хоть одна программа из списка присутствует, основная программа запущена не будет. Код:
Option Explicit В скрипте работает бесконечный цикл, сам он не завершится. Если зачем-то его надо завершить - в диспетчере задач убейте процесс wscript.exe |
Время: 23:48. |
Время: 23:48.
© OSzone.net 2001-