Powershellで印刷を自動化したい

Powershellで印刷したいとき、例えば以下のようにStart-Processコマンドを利用する手がある

#カレントディレクトリのすべてのファイルに対して印刷を試みる
>ls | %{Start-Process -FilePath $_ -Verb print -Wait}

いろいろ欠点はある。

  • 細かな設定はできない*1
  • -Verb printできるかはファイル次第で、調べるには以下のようにする
>$startExe = new-object System.Diagnostics.ProcessStartInfo -args PowerShell.exe

>$startExe.verbs
open
runas

ただ、ちょっとした事務作業を効率化するのにはすごく便利。

参考

Start-Process

*1:もしやりたいときは、愚直にPowershellからソフトのコマンドを呼ぶしかない。ExcelとかWordとか