Pipes and CMD.exe

This has several side effects:
Any newline (CR/LF) characters in the batch_command will be turned into & operators. (see StackOverflow)
If the batch_command includes any caret escape characters ^ they will need to be doubled up so that the escape survives into the new CMD shell.

Calling a new CMD shell also has a small effect on performance, this may not be noticable for small data sets.

For example, this syntax works, but will fail if the second or subsequent (piped) lines are indented with a space: @Echo Off
echo abc def |^
find "abc" |^
find "def"> outfile.txt

Multi-line single commands with lots of parameters, can be indented as in this example:

When redirecting the output of DIR to a file, you may notice that the file itself will be listed with a size of 0 bytes. The command interpreter first creates the empty destination file, then runs the DIR command and finally saves the redirected text into the file.

“Stupidity, outrage, vanity, cruelty, iniquity, bad faith, falsehood,
we fail to see the whole array when it is facing in the same direction as we” ~ Jean Rostand (French Historian)