Não tenho como garantir com segurança que o binário existirá antes de executá-lo
Você pode usar o which.cmd
para ver se existe um binário e retorna um ERRORLEVEL
apropriado.
Solução alternativa para o seu problema (Desativar o "Windows não consegue encontrar '[foo] .exe'" popup)
- executar
which program
- verifique o
ERRORLEVEL
- execute
start
apenas seprogram
for encontrado.
:: WHICH.CMD CommandName [ReturnVar] :: :: Determines the full path of the file that would execute if :: CommandName were executed. :: :: The result is stored in variable ReturnVar, or else it is :: echoed to stdout if ReturnVar is not specified. :: :: If no file is found, then an error message is echoed to stderr. :: :: The ERRORLEVEL is set to one of the following values :: 0 - Success: A matching file was found :: 1 - No file was found and CommandName is an internal command :: 2 - No file was found and CommandName is not an internal command :: 3 - Improper syntax - no CommandName specified
O link abaixo inclui o código-fonte completo para which.cmd
(que foi escrito pelo superusuário usuário dbenham ).
Fonte which.cmd - Mostra o caminho completo para um arquivo executável.