バッチファイルでプリンタを自動インストールさせる
2023/08/25 「通常使うプリンタに設定する」を追加
2023/09/20 ポートがうまく削除できない場合の対処法を追加
プリンタプロパティをコマンドから開く方法を追加
-----------------------------------------------------------------------------
ずいぶん昔に作ったものを改めて見直してみた。
当時は大規模なプリンタ入替をワンボタンで一気にインストールするようにしたいという要望で作った。
前提
・ネットワークドライブ越しで動くことを想定する。
ファイルサーバ環境ではないのでパスは以下で記載
\\localhost\c$\printerdriver\
上記の部分を実際のファイルサーバのパスに変えれば動くと思う。
プリンタドライバ用意
infファイルを使ってインストールを行うので、何か適当にDLし、ファイルサーバに格納する。
今回はフジフィルムビジネスイノベーションの以下をDLした
DLしたexeファイルを実行するとプログラムが起動するが、プログラム起動時に生成されるフォルダが欲しいだけなので、停止させる。
exeはいらないので削除。生成されたフォルダを適用な名前にする。
前記のようにinfファイルが欲しいので、検索する。
下記に存在していることが分かった。
infファイルの中身を見てみる
途中で以下のような箇所がある。
その中にある「FX DocuCentre-VII C5588 PS H2」を今回は入れてみる。
コマンド確認
自動インストールするために核となるのは以下
プリンタドライバのインストールをする
まずはドライバをインストールする。
※各パスはローカルPC内でないと動かない。ネットワークドライブにしてもダメだった。
実際の例は以下。
ドライバのフォルダパス、INFは予め調べた通り。
プリンタポートを作る
ネットワークプリンタになるので、ポートを作る
実際の例は以下。IPは192.168.0.100、ポート名は「IP_192.168.0.100」とする。
プリンタを作成する
いざプリンタをインストール
実際の例は以下。
通常使うプリンタに設定する
実際の例は以下。
コマンドからプリンタプロパティを開かせる
実行すると指定したプリンタのGUIのプロパティ画面が開く
実際の例は以下。
プリンタドライバを消したい場合は
プリンタポートも削除
もし、当該ポートが未使用なのに以下のエラーが出る場合
Spoolerサービスを以下のように再起動してやり直せばいける
まとめ
既存のプリンタを削除し、新しくプリンタを入れ直すバッチを作る。
なお、管理者として実行しないと「エラーコード:5」が出る。
@echo on
rem echo 既存プリンタを削除します。
cscript prnmngr.vbs -d -p "FX DocuCentre-VII C5588 PS H2"
rem echo 既存ポートを削除します。
cscript prnport.vbs -d -r IP_192.168.0.100
rem echo プリンタドライバをインストールします。
cd C:\Windows\System32\Printing_Admin_Scripts\ja-JP
cscript prndrvr.vbs -a -m "FX DocuCentre-VII C5588 PS H2" -v 3 -e "windows x64" -h \\localhost\c$\printerDrive\printer\Software\PS\amd64\Japanese\001 -i \\localhost\c$\printerDrive\printer\Software\PS\amd64\Japanese\001\FXPIOJL.inf
rem echo プリンタポートをインストールします。
cscript prnport.vbs -a -r IP_192.168.0.100 -h 192.168.0.100 -o raw -n 9100
rem echo プリンタを作成します。
cscript prnmngr.vbs -a -p "FX DocuCentre-VII C5588 PS H2" -m "FX DocuCentre-VII C5588 PS H2" -r IP_192.168.0.100
上記バッチで見事インストールされた
次のアクション
当時はプロパティを変更する仕組みをvbsで実装していたので、改めて確認したい。
その他のバッチファイルの記事は以下
この記事が気に入ったらサポートをしてみませんか?