Como usar o START e o pipe juntos?

2

Originalmente eu tinha um comando assim (no linux)

daemon flag & app flag

No entanto, no windows bc daemon nunca termina app nunca começa. Então eu escrevi isso em vez

start /B daemon flag & app flag

Isso parece funcionar. Agora eu gostaria de executar daemon flag | app2 flags , mas tudo o que eu começo a reclamar sobre o daemon não existe e outros problemas. Eu descubro se eu coloco daemon flag | app2 flags em file.bat e start /B file.bat em vez disso, parece fazer o que eu quero. Mas isso parece hackish.

Como executo daemon flag | app2 flags no plano de fundo e app flag imediatamente? Essa solução file.bat é minha única opção?

    
por Karan 30.05.2015 / 21:29

1 resposta

0

Acho que o seguinte faz o que você quer:

start /B %comspec% /c "daemon flag | app2 flags" & app flag

Isto dá uma nova encarnação do shell cmd , rodando em background e manipulando o pipe, o que é feito implicitamente tanto pelo uso de start com um arquivo batch quanto pelo comando equivalente do Linux.

Haverá, é claro, confusão se app2 e app gerarem saída, e ainda mais confusão se ambos solicitarem entrada do console (igualmente verdadeiro no Linux e no Windows).

    
por 31.05.2015 / 03:24