Let's say in a batch file, I want to execute myCommand asynchronously (without waiting for it to finish). And I don't want to execute myCommand in a new console window.
At the same time, I want to redirect the output of myCommand to output.txt
So in the batch file, if I write
START myCommand > output.txt
output.txt will be empty and I will see a new window.
If I write
myCommand > output.txt
then I cannot execute it asynchronously.
Is there any way I can achieve all these three requirements? (asynchronously, no new window, redirect output)
Thanks!
Nearly like dbenhams answer, but you need to force the redirection to the new thread, not to the
start
command.I haven't tested it fully, but I think this may work:
I believe both forms work fine - the only difference is if standard error is redirected as well and START fails to launch myCommand.
Redirecting START: both myCommand and START output are redirected to the file.
Redirecting myCommand only: Only myCommand output is redirected. Any START error message will appear on the screen. Note, I opted to escape the redirection instead of using quotes like jeb.