ValarMayar
@ValarMayar
Д У Р А Ч О К / недопрограммист графоман

Как исключить возможность запуска того же bat файла?

Доброго времени суток.
Есть у меня run.bat
С таким содержимым
start /d "C:\Users\valinor\Desktop\site\dist" main.exe --dir='D:\ttt'


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

Пример
# папка1 по пути скажем C:\\data
start /d "C:\Users\valinor\Desktop\site\dist" main.exe --dir='D:\path1'

# папка2 по пути скажем C:\\data2
start /d "C:\Users\valinor\Desktop\site\dist" main.exe --dir='D:\path2'


Могу ли я как то предотвратить запуск одного и того же run.bat(грубо говоря, что бы при попытке повторного открытия того же run.bat с той же папки либо ничего не происходило, пока все ещё открыт эземпляр этого батника, ну либо переключал на уже открытое окно)? что бы исключить дубли с теме же аргументами
PS экзешник собран с помощью pyinstaller (и понятно, что код написан на python, поэтому в принципе если у кого то есть мысли как в коде python это сделать буду очень благодарен)
  • Вопрос задан
  • 158 просмотров
Решения вопроса 1
@rPman
Не делай контроль повторного запуска батником, будет неудобно, есть тема где это обсуждали там есть примеры

Лучше пусть само приложение это делает, создавай lock файл (имя файла пусть будет в параметрах) с pid процесса, при запуске приложение должно проверить, существует ли процесс с таким pid как записан в файле (если он есть) если есть - выходить, если нет - перезаписывать файл своим pid и продолжать работу.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы