1

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...

Ries
  • 153
  • 1
  • 2
  • 6

1 Answers1

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.