Eu escrevi o código abaixo para minha exigência, mas sempre que ele executa a segunda vez, o PowerShell não captura o caminho do executável.
powershell -command "& {get-process 'program' | format-list path}" > temp.txt
find /i "P1" temp.txt
if not errorlevel 1 (echo "P1") else (start "" "<path_of_p1>\program.exe")
find /i "P2" temp.txt
if not errorlevel 1 (echo "P2") else (start "" "<path_of_p2>\program.exe")
find /i "P3" temp.txt
if not errorlevel 1 (echo "P3") else (start "" "<path_of_p3>\program.exe")
exit
Tags windows batch-file