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
Try
CMD /C longjob.cmd >result.txt 2>&1
Not sure how it'll deal with the redirection, but CMD /C lets you tell CMD what to run and that it should exit when done. (CMD /K lets you tell it to run something but stick around when done.) It will re-use the existing console window if run within one.
The call command might be what you want.
i.e.
call longjob.cmd >result.txt 2>&1