Closed5
[Windows] バッチファイルからプリンタドライバを変える
目的
バッチファイルでプリンタのドライバだけを変えたい
環境
Windows 7 Professional
(おそらくWindows 10でも大丈夫)
コマンドでインストールされているプリンタ一覧をゲット
C:\>cscript C:\Windows\System32\Printing_Admin_Scripts\ja-JP\prnmngr.vbs -l
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
サーバー名
プリンター名 TEST
共有名
ドライバー名 NEC MultiWriter 5500 PCL 6
ポート名 192.168.11.230
コメント
場所
プリント プロセッサ winprint
データ型 RAW
パラメーター
属性 2624
優先順位 1
既定の優先順位 0
平均処理ページ数 (分) 0
プリンターの状態 アイドル
プリンターの状態の詳細 不明
検出されたエラーの状態 不明
検出されたエラーの状態の詳細 不明
サーバー名
プリンター名 Microsoft XPS Document Writer
共有名
ドライバー名 Microsoft XPS Document Writer
ポート名 XPSPort:
コメント
場所
プリント プロセッサ winprint
データ型 RAW
パラメーター
属性 576
優先順位 1
既定の優先順位 0
平均処理ページ数 (分) 0
プリンターの状態 アイドル
プリンターの状態の詳細 不明
検出されたエラーの状態 不明
検出されたエラーの状態の詳細 不明
列挙されたローカル プリンターと接続の数 2
ここの「ドライバー名」というのが必要
本題: コマンドでプリンタのドライバを変更
プリンタ "TEST" のドライバを "Microsoft XPS Document Writer" に変更してみる
C:\>rundll32 printui.dll PrintUIEntry /Xs /n "TEST" DriverName "Microsoft XPS Document Writer"
特に何もレスポンスはないが…
C:\>cscript C:\Windows\System32\Printing_Admin_Scripts\ja-JP\prnmngr.vbs -l
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
サーバー名
プリンター名 TEST
共有名
ドライバー名 Microsoft XPS Document Writer
ポート名 192.168.11.230
コメント
(後略)
確認すると、ドライバー名が「Microsoft XPS Document Writer」に変わっている
GUIから確認してもドライバーが変わっている
注意点
おそらく、プリンタのドライバの設定(「標準の設定」で設定する両面印刷やホッパ情報など)が全部吹っ飛ぶので
事前に保存しておいて復元かけないといけないと思われる
参考: プリンタドライバの設定をファイルに書き出す&復元
REM ファイルに書き出す
rundll32 printui.dll PrintUIEntry /Ss /n "TEST" /a "%TEMP%\TEST.prs"
REM ファイルから復元
rundll32 printui.dll PrintUIEntry /Sr /n "TEST" /a "%TEMP%\TEST.prs"
ファイルから復元するとドライバー情報も戻るので、改めて /Xs
する必要はない
このスクラップは2022/02/17にクローズされました