
Estou no prompt de comando do Windows 7. Quando executo o seguinte comando
"C:\Program Files\abc.exe" help > out.txt
abc.exe é um programa de terceiros que exibe algumas informações. O que acontece é que uma nova janela se abre, a ajuda do abc.exe imprime a saída na nova janela, a janela fecha e eu volto para minha janela original. O arquivo out.txt permanece vazio.
Como posso evitar que o abc.exe abra uma nova janela. Posso forçá-lo a exibir sua saída na mesma janela original para que possa ser redirecionado para out.txt.
Responder1
Eu consegui resolver isso.
No Windows existe uma opção chamada "Abrir prompt de comando como administrador". Uma nova janela não abre nesse caso.
Responder2
Pode ser que o aplicativo não envie para STDOUT ou STDERR, mas tente isto
"C:\Program Files\abc.exe" help > out.txt 2>&1
Responder3
Eu tive o mesmo problema, executar como administrador resolveria o problema, mas essa não poderia ser uma resposta aceitável, pois não administradores também estavam tendo esse problema. A ideia de redirecionamento de saída não ajudou porque redirecionaria a saída do prompt não elevado - que não tinha saída. Então ele apenas cria um arquivo vazio.
Meu problema era que o .exe que eu estava chamando tinha sido configurado para ser executado de forma elevada. O prompt do cmd que eu estava iniciando não estava sendo executado como administrador e não pode ser elevado após ser iniciado. Portanto, ele abriria uma nova janela elevada para executar o comando, que seria concluído em um piscar de olhos e depois sairia, deixando-me com meu prompt não elevado e sem saída.
Solução A: execute cmd/powershell como administrador. Então ele pode ser executado na mesma janela. Solução B: altere o .exe para não ser executado como administrador, para que não seja necessário abrir uma nova janela elevada. Esta é a opção que escolhi.