 <p>CMD is not very flexible regarding data that it can operate on. Newlines fall under the category of special characters that are difficult to work with.</p> <p>This could be accomplished with PowerShell, which should be available on any recent version of Windows. There <em>is</em> an escape character in PoSH that could be used for this purpose (`n is a newline).</p> <pre><code>C:\&gt; PowerShell -ExecutionPolicy Bypass -NoProfile -Command "perl sub.pl -param1 -param2 """-param3`n^""" -param4" '-param1' '-param2' '-param3 ' '-param4' </code></pre> <p>I don't have myprog.exe, so I used <code>sub.pl</code>:</p> <pre><code>print("'".join("'\n'",@ARGV)."'"); </code></pre>