1. The console window is normal. You've commented out the part that prevents that from happening.
2. Use shell rather than launch for this. Really. SparkOut has no reason to mislead you on that. It's what you want.
3. You can't really know what's happening because you're not checking the return value. Add this after the shell call add a line to display what comes back from that function, a la:
4. When you see the error it's trying to tell you, note how you're building the file path. Remember that within LC all paths use Unix conventions, so to pass something to Windows you'll want to replace "/" with "\" in part that uses the stack's file name.
5. Once the path is normalized, run it again and see what the return value is. In short, the script appears to be called just fine, but paths referenced within the batch file are throwing errors.