1

Я немного борюсь с этим. Идея сценария должна быть:Пакетный файл: проверьте программу, перезапустите или ничего не сделайте

Если программа 1 работает Закройте его затем откройте его Если не работает ничего не делать

Это будет использоваться на машинах XP и Win7

Вот что я есть, но я понятия не имею, как включить, если заявления или даже если то, что у меня есть, отдаленно правильно:

tasklist /fi "imagename eq KDS.exe" taskkill /f /im "KDS.exe" start "" "C:\Path\KDS.exe" 

ответ

1

Я хотел бы сделать taskkill во-первых, и проверьте его возвращаемое значение, чтобы определить, удалось ли это или нет. Если это так, перезапустите процесс.

taskkill /f /im "kds.exe" && (
    start "" "C:\Path\KDS.exe" 
) 

Источник вдохновения: Killing a process in Batch and reporting on success

+0

Я пытался точно, что на компьютере, где этот процесс не был запущен, и он начал. Идея состояла бы в том, чтобы проверить, запущен ли он, если необходимо перезапустить его. Если он не запущен, не пытайтесь запустить программу. – user2022089

+0

Hrmph. Конечно. Я добавил флаг '/ f' и использовал'/im' вместо '/ fi', и теперь он возвращает коды ошибок, которые я ожидал. –

Смежные вопросы