tiempo de espera o cierre cuando finaliza el proceso

tengo unX.exe programa que demora entre 2 y 6 horas en finalizar. El tiempo exacto es desconocido, pero me gustaría implementar un umbral de 6.5 o 7 horas. Si este programa no devuelve ningún valor por este período de tiempo, se eliminará. ¿Cómo implemento esto usando un lote?*.bat archivos?

Esto es lo que tenía hasta ahora: un temporizadorbat1.bat y un realbat2.bat.

bat1.bat:

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

bat2.bat:

cd blah
bat1.bat

El problema con este enfoque es que solo después de 25200 segundos (o 7 horas) el temporizador se detendrá y no se terminará antes de ese límite. ¿Cómo le digo a la computadora que si el programaX.exe está terminado, entonces no esperes más?

Cualquier ayuda es apreciada!