У меня Windows 8.1.
Вот моя ситуация: я играю в игру, которая требует стороннее ПО для записи геймплея. Я запускаю оба одновременно через BAT-файл:
@echo off
cd "C:\Riot Games\League of Legends\"
start lol.launcher.exe
cd "C:\Users\Craig\Dropbox\Programs\BaronReplays"
start BaronReplays.exe
exit
Можно ли как-то настроить его так, чтобы при завершении одного из этих процессов другой завершался вместе с ним?
решение1
Вам понадобится программа killer. Их много, но если вам не нужно изящное завершение работыpskillсделает эту работу.
В простейшем случае вам следует изменить ваш пакетный файл следующим образом:
@echo off
cd "C:\Users\Craig\Dropbox\Programs\BaronReplays"
start BaronReplays.exe
cd "C:\Riot Games\League of Legends\"
start /wait lol.launcher.exe
pskill BaronReplays.exe
exit
Это запустит записывающее устройство, затем игру, а когда игра закончится, остановит записывающее устройство, при этом ключевая команда — , которая start /wait
приостанавливает выполнение пакетного файла до завершения запущенной программы.
Если вы хотите, чтобы одна из программ остановила другую, вам понадобятся два пакетных файла, каждый start /wait
из которых содержит файл одной программы, а затем файл pskill
другой.
Вам нужно запустить только один из пакетных файлов, поскольку он может запустить другой с помощью:-
start cmd /c OtherBatch.cmd`
Наконец, если вам нужно более сложное решение, вы можете взглянуть наNirCmd. Обе эти утилиты являются бесплатными.