Is there a command or script in Windows to print a file (various file types such as .doc .xls .txt .pdf) to the default printer?

As far as I know one usually has to execute the relevant application (Word, Excel, Notepad, Acrobat Reader) and ask it to print the file, but I could use a generic way of achieving this right now...

1 Answer 1


I found this out through this article after being frustrated by Out-Printer.

The synopsis is that using Start-Process should do what you're looking for, if I understood the question:

Start-Process -FilePath "c:\somefile.pdf" -Verb Print

That will open the file with whatever the default program is and print to the default printer (note: can also specify a different printer). This leaves the program running, but...

Start-Process -FilePath "c:\somefile.pdf" -Verb Print -PassThru | %{sleep 10;$_} | kill

...will open, print, sleep for a few moments so the program actually has time to print, then kill it.

  • To print to a printer other than the default one, use: Start-Process -FilePath "c:\somefile.pdf" -Verb PrintTo('PrinterName')
    – sebas
    Jun 25 at 13:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .