Royston
Royston

Reputation: 598

Printing with Powershell and files in folders

I have a script which does some onsite printing. It doesnt work too well at the moment as the below runs for various file types which are sent to a folder to print, but the problem is it will only print 1 document at a time.

Start-Process –FilePath “c:\tests\*.docx” –Verb Print

I had the idea of doing this to get around it:

    get-ChildItem "C:\Tests\*.docx" | `

    foreach-object {

    start-process -verb Print

}

This doesnt seem to work though. So then i tried this:

get-childitem "C:\Tests\*.xlsx" | `

foreach-object {

Start-Process -Filepath "C:\Program Files\Microsoft Office\Office14\EXCEL.exe" –Verb Print }

Also no luck,

Returns this error:

Start-Process : This command cannot be run due to the error: No application is associated with the specified file for this operation.

I think i am maybe not visualing the process here. Any ideas at all anyone on how to achieve printing of every file in a folder via powershell?

Windows 7 64 bit and $PSVersion = 5.0

Thanks in advance

Upvotes: 9

Views: 26658

Answers (1)

Kai Zhao
Kai Zhao

Reputation: 1015

You are very close, start-process needs the full path and name of the file:

Get-ChildItem "c:\tests\*.docx" | ForEach-Object {start-process $_.FullName –Verb Print}

Using a foreach loop should help you too:

$files = Get-ChildItem "c:\tests\*.docx"

foreach ($file in $files){
    start-process -FilePath $file.fullName -Verb Print
}

Upvotes: 11

Related Questions