Use o script em lote ou o script vb para armazenar a saída de wmic os get osarchitecture
e você obtém um valor de cadeia dizendo 32 bits ou 64 bits. Então você pode usar o típico condicional if-then-else para iniciar o binário apropriado. Problema resolvido.
Método alternativo:
A variável de ambiente %PROCESSOR_ARCHITECTURE%
armazena essas informações, para entender os possíveis valores retornados, consulte este post de blog
link
P.S. não dependa de acessar a unidade do SO (lembre-se, nem sempre é C:
) procurando Program Files (x86)
ou outros hacks como esse, você pode ter problemas de permissão e não é a maneira padrão de fazer isso.