バッチスクリプト-印刷

印刷は、NETPRINTコマンドを介してバッチスクリプト内から制御することもできます。

構文

PRINT [/D:device] [[drive:][path]filename[...]]

ここで、/ D:device-印刷デバイスを指定します。

print c:\example.txt /c /d:lpt1

上記のコマンドは、example.txtファイルをパラレルポートlpt1に出力します。

コマンドラインプリンター制御

Windows 2000以降、すべてではありませんが、多くのプリンタ設定は、PRINTUI.DLLおよびRUNDLL32.EXEを使用してWindowsのコマンドラインから構成できます。

構文

RUNDLL32.EXE PRINTUI.DLL,PrintUIEntry [ options ] [ @commandfile ]

利用可能なオプションのいくつかは次のとおりです。

  • /dl −ローカルプリンターを削除します。

  • /dn −ネットワークプリンタ接続を削除します。

  • /dd −プリンタードライバーを削除します。

  • /e −印刷設定を表示します。

  • /f[file] −infファイルまたは出力ファイル。

  • /F[file] − / fで指定されたINFファイルが依存する可能性のあるINFファイルの場所。

  • /ia −infファイルを使用してプリンタードライバーをインストールします。

  • /id −プリンタードライバーの追加ウィザードを使用してプリンタードライバーをインストールします。

  • /if −infファイルを使用してプリンタをインストールします。

  • /ii −infファイルを使用してプリンタの追加ウィザードを使用してプリンタをインストールします。

  • /il −プリンタの追加ウィザードを使用してプリンタをインストールします。

  • /in −ネットワークプリンタ接続を追加します。

  • /ip −ネットワークプリンタインストールウィザードを使用してプリンタをインストールします。

  • /k −テストページを指定されたプリンターに印刷します。プリンターのインストール時にコマンドと組み合わせることはできません。

  • /l[path] −プリンタードライバーのソースパス。

  • /m[model] −プリンタードライバーの型名。

  • /n[name] −プリンタ名。

  • /o −プリンタキュービューを表示します。

  • /p −プリンタのプロパティを表示します。

  • /Ss −プリンタ設定をファイルに保存します。

  • /Sr −ファイルからプリンタ設定を復元します。

  • /y −プリンタをデフォルトとして設定します。

  • /Xg −プリンタ設定を取得します。

  • /Xs −プリンタ設定を設定します。

プリンタが存在するかどうかのテスト

ローカルプリンタではなくネットワークプリンタに接続している場合があります。このような場合、印刷する前に、最初にプリンタが存在するかどうかを確認することが常に有益です。

プリンタの存在は、ほとんどのプリンタ設定を制御するために使用されるRUNDLL32.EXEPRINTUI.DLLを使用して評価できます。

SET PrinterName = Test Printer
SET file=%TEMP%\Prt.txt
RUNDLL32.EXE PRINTUI.DLL,PrintUIEntry /Xg /n "%PrinterName%" /f "%file%" /q

IF EXIST "%file%" (
   ECHO %PrinterName% printer exists
) ELSE (
   ECHO %PrinterName% printer does NOT exists
)

上記のコマンドは次のことを行います-

  • 最初にプリンタ名を設定し、プリンタの設定を保持するファイル名を設定します。

  • RUNDLL32.EXE PRINTUI.DLLコマンドは、ファイルの構成設定をファイルPrt.txtに送信することにより、プリンターが実際に存在するかどうかを確認するために使用されます。