Exceto pelo já mencionado /?
, --help
, leitura de documentação e googling, não há uma maneira padrão de fazer isso. Infelizmente, alguns programas não documentam bem seus switches - não há (quase) nada que possa ser feito com eles.
É por isso que: cada programa analisa sua linha de comando de forma completamente diferente, e até mesmo ter comutadores é apenas um acordo que os autores mais tendem a seguir: alguns possuem switches de estilo / dos, alguns são -nIX style , alguns usam --gnu-long-style = switches, e alguns simplesmente não entendem nenhum, pegando a primeira coisa que eles vêem como um nome de arquivo.
Assim, a análise de parâmetros faz parte do código do programa e, portanto, para saber quais parâmetros o programa realmente aceita, é necessário ler o código-fonte, que você nem precisa ter.
A única outra opção é desmontar o programa em questão. A desmontagem é basicamente desmontar um programa, instrução por instrução, tentando descobrir o que ele tenta fazer e como. Demora muito tempo e é muito difícil de aprender.
Às vezes, você pode abrir o programa em um editor hexadecimal e procurar um comando que você conhece, geralmente em algum lugar perto do fim, e depois tentar algo próximo que pareça um interruptor.