Como exibir a saída do console ao executar o programa a partir do prompt de comando

3

No Windows, quando meu programa é inicializado a partir da linha de comando, ele exibe uma janela e, no prompt de comando, permite que eu digite outro comando. É essencialmente o equivalente do Linux

./myprogram.exe &

Agora, eu não quero isso. Eu quero ver minha saída do console. Existe algum argumento de linha de comando ou alguma outra maneira de impedir que o prompt de comando me forneça outro prompt até que o programa termine?

    
por wonton 03.06.2013 / 23:52

2 respostas

2
start /wait "" myprogram.exe

A string vazia "" é o título da janela. Não é realmente necessário como eu tenho escrito, mas é uma boa idéia incluí-lo. Torna-se importante se o caminho do programa executável exigir cotações de fechamento devido a espaços ou outros caracteres especiais. Nesse caso, o programa será tratado erroneamente como o título da janela, a menos que uma sequência de título entre aspas seja anterior.

Existem várias opções com o comando START. Digite START /? em um prompt de comando para obter ajuda.

Observe que alguns programas do Windows iniciam processos adicionais que executam o trabalho real e o processo inicial é finalizado. START /WAIT não ajudaria em tal programa.

    
por 04.06.2013 / 00:30
1

Eu duvido. Comportamento normal é como o linux. Eu acho que se você quiser obter o ./myprogram & comportamento no windows, você faz C:\>start myprogram Mas como você diz, você não quer isso. Mas o padrão é (como no linux) não fazer isso.

O fato de seu programa continuar rodando depois que a janela é mostrada, sugere-me que essa funcionalidade está embutida no programa, portanto, ele executa a janela como um novo thread. Eu não acho que o cmd possa parar isso.

    
por 03.06.2013 / 23:57