Как создать скрипт-переключатель, который станет открывать и закрывать программу при первом и втором запуске
Если вы запустите приложение в скрытом режиме, а такая возможность в Windows имеется, то для завершения его работы вам придется прибегать либо к «Диспетчеру задач», либо к «Планировщику заданий» и то только в том случае, если для запуска программы в фоновом режиме использовался этот последний инструмент. Так вот, вы можете упростить себе эту задачу, создав скрипт, который будет запускать процесс.
Когда он не запущен и закрывать его, когда он работает – и все по требованию пользователя.
Область применения скрипта не ограничивается запуском/завершением фоновых процессов, его можно использовать и в других случаях, одним словом везде, где нужно автоматизировать управление запуском и завершением работы приложений и сценариев.
Давайте напишем такой скрипт.
Создайте Блокнотом новый текстовый файл и вставьте в него следующий код:
@echo off
setlocal
set «flagFile=D:flag.txt»
if exist «%flagFile%» (
taskkill /f /im notepad.exe >nul 2>&1
del «%flagFile%» >nul 2>&1
) else (
start D:test.txt
echo. > «%flagFile%»
)
endlocal
Приведенный выше скрипт при первом запуске открывает файл test.txt, а при втором запуске закрывает его.
А теперь разберем его по ключевым строкам.
Третья строка создает переменную для временного файла флага на диске D, четвертая проверяет его наличие. Если флаг существует, процесс Блокнота notepad.exe закрывается, а временный файл удаляется – строки 5 и 6. Если файл флага отсутствует, выполняется команда start и создается файл флага. – 8 и 9 строка.
Отредактировав строки 5 и 9, вы можете приспособить скрипт под выполнение других задач.
В пятой строке прописывается процесс, который нужно завершить, в девятой – указывается тот же процесс, но уже для запуска.
Естественно, вы можете использовать все доступные для команд taskkill и start аргументы.
Расположение файла flag.txt в третьей строке также можно изменить, однако учитывайте, если в качестве его локации вы укажите системный диск или каталог, скрипт придется запускать с правами администратора.