script de lote do windows: como executar um executável e responder a prompts do executável

0

Eu tenho um executável antigo que é executado na linha de comando. Ele solicita ao usuário, de forma interativa, informações específicas. O que eu gostaria de fazer é envolver toda a interação desse comando em um script em lote para que ele seja executado e responda aos prompts sem que um usuário tenha que interagir .

Isto é diferente de simplesmente executar um comando com argumentos. O executável solicita ao usuário. Parafraseando a maneira como isso funciona ...

C:\MyDir>legacy.exe
  Welcome to old program.

  Please enter your name:
  > John Smith

  How many widgets are you buying:
  > 47

 Great, generating the PO file now...
 Goodbye.

Idealmente, gostaria de esperar pelos prompts e responder a cada um deles de acordo. Eu posso fazer isso no .NET com o objeto Process, mas gostaria de tentar isso usando um script em lotes do Windows. Se eu não conseguir analisar os prompts e só precisar despejar cegamente os argumentos, também o aceito.

Eu vejo outra pergunta em que a resposta era usar o VBScript . Existe uma maneira de fazer isso em script simples em lote?

    
por Angelo 23.06.2017 / 21:20

2 respostas

1

Depende da maneira como o legacy.exe interage com a entrada padrão (redirecionada).

Você pode tentar isso

(Echo John Smith&Echo 47)|legacy.exe

Se isso não funcionar, você pode precisar de terceiros sendkey.exe e desanexar o legacy.exe do lote com o início, conforme sugerido por Genaro Morales e use o aplicativo sendkey para fazer a entrada de forma semelhante a solução vbs faz. Portanto, isso não é um lote puro . Consulte estes resultados de pesquisa.

    
por 24.06.2017 / 00:05
-1

Você já tentou obter um arquivo em lotes com:

inicie o "fullpath" legacy.exe?

    
por 23.06.2017 / 21:38