 <p>I found the solution, for anybody who cares.</p> <p>I changed the command to execute a call to a batch script which then called the print command.</p> <pre><code>var directory = process.env['USERPROFILE'] + '\\Downloads\\'; var command = 'start cmd.exe /C ' + __dirname + '\\print.bat ' + directory + imageName + ' "EPSON TM-C3500"'; exec(command, {}, function(error, stdout, stderr){}); </code></pre> <p>But then the batch script wasn't working... why? I don't know. I do know that adding a TIMEOUT 0 in the batch script fixed it.</p> <pre><code>TIMEOUT 0 rundll32 C:\\Windows\\System32\\shimgvw.dll ImageView_PrintTo /pt %* </code></pre>