I have a batch file that I usually invoke like this:
longjob.cmd >result.txt 2>&1
This works fine, but the script changes directory
The call command might be what you want.
i.e.
call longjob.cmd >result.txt 2>&1