2016-07-25 6 views
-1

Я запускаю несколько exe-файлов, которые открывают CMD для консоли. Это одна и та же программа несколько раз, но разные экземпляры, поэтому в разных папках. Иногда случается сбой случайным образом, и я пытаюсь создать пакетный файл, который снова открывает их, когда они закрываются. Мне нужно только один экземпляр каждой программы, запущенной сразу.Проверка, открыта ли программа. Если нет, откройте его

+0

Это, по-моему, больше подходит для [SuperUser] (http://www.superuser.com) ... но без каких-либо подробностей или попыток кодирования на самом деле не очень подходит для SO , – gravity

+2

Возможный дубликат [Найти открытый процесс в пакете Windows] (http://stackoverflow.com/questions/32021087/find-opened-process-in-windows-batch) – SomethingDark

ответ

1
:loop 
c:\windows\notepad.exe 
Goto Loop 

В пакетном файле сценарий ожидает выхода программы. Таким образом, он запускает блокнот всякий раз, когда он закрывается.

+0

Это замечательно, спасибо! – Lion

+0

Программы, которые я открываю, представляют собой пакетные файлы, и я просто заметил, что при открытии другого командного файла он открывается внутри текущего, закрывая цикл. – Lion

+0

Вы должны использовать 'call' при использовании пакетных файлов. 'call c: \ batch.bat'. По соображениям совместимости пакетные файлы передают управление друг другу. Call делает его возвратной передачей. См. 'Call /?'. См. Мой ответ вчера о трех разных способах запуска программ. http://stackoverflow.com/questions/38558164/how-to-use-a-bat-file-to-run-other-bats-and-have-each-one-in-a-seperate-cmd/38558229# 38558229 –