Thanks Erel, that opens a cmd window and displays the output, but doesn't return it to the stdout of the shell call.
It did give me something to investigate, and apparently it is a fairly common question, to which the standard solution is to write the return values to a file. I am already doing this if the data passed is too large to pass with the shell arguments, so with that, and the work around batch file, it seems to be the most effective solution in this case..