Windows lacks anything quite like Unix's shebang, which provides a way for a script to tell its interpreter how to interpret it, but polyglots can be used to provide similar functionality.
A polyglot is a script that works in multiple interpreters, hiding functionality and syntax specific to one language from another language's interpreter by clever use of each language/interpreter's specific features.
Let's look at how each of our two interpreters deal with the above script:
BATCH allows redirection to occur anywhere in a command line, not just a the tail. It does this by actually rearranging the command in pre-parsing, turning our first line
:hello 0<*/, which is a label and is not executed. Line 2 is a hello from batch, Line 3 executes the called script in cscript with the appropriate arguments (subtitute your interpreter here), and line 4 sends us to
:EOF, ignoring the rest of the script.
0<0;. This adds minimal weight and no memory overhead, and the script continues as normal.