timeout ou fechar quando o processo for concluído

eu tenho umX.exe programa que leva cerca de 2-6 horas para terminar. O tempo exato é desconhecido, mas eu gostaria de implementar um limite de 6,5 ou 7 horas. Se este programa não retornar nenhum valor por esse período, ele será eliminado. Como faço para implementar isso usando o lote*.bat arquivos?

Aqui está o que eu tinha até agora: um temporizadorbat1.bat e um realbat2.bat.

bat1.bat:

start cmd /C bat2.bat & timeout /t 25200 & taskkill /im X.exe /f

bat2.bat:

cd blah
bat1.bat

O problema dessa abordagem é que somente após 25200 segundos (ou 7 horas) o cronômetro será parado e não será encerrado antes desse limite. Como digo ao computador que, se o programaX.exe está terminado, então não espere mais?

Qualquer ajuda é apreciada!

questionAnswers(3)

yourAnswerToTheQuestion