• ベストアンサー
  • 困ってます

USB で接続しているプリンタに PRN で出したい

  • 質問No.1161489
  • 閲覧数4236
  • ありがとう数5
  • 回答数3

お礼率 72% (196/269)

 前に使っていたパソコン(Windows Xp)では、パラレル接続していた Canon のレーザプリンタがありましたが、新しいパソコン(同じく Windows Xp)では USB 接続しかないので、市販の USB パラレル接続ケーブルを使って古いプリンタをつなぎました。
 現在、普通のアプリからは正常に印刷できますので、プリンタドライバなどは問題ないはずです。
 さて、このプリンタに、コマンドプロンプトから copy file PRN としてファイルを送りたいのですが、「指定されたファイルが見つかりません。」というエラーメッセージが出て、ダメです。copy file file2 ではうまく行きますので、PRN が問題であることがわかります。
 print file としてみると、「デバイス PRN を初期化できません」というエラーメッセージが出て、ダメです。
 印刷したいファイルの中身は、グラフィックコマンド(LIPS コマンド)です。プリンタで要求する形式で書いてあります。前のパソコンからはプリンタに印刷できますので、ファイルの内容が間違っているわけではありません。当面は、旧パソコンからパラレル接続して印刷しますので、しのげますが、いつまでもこんなことはやっていられません。
 どうしたらいいのでしょうか。
 Xp からファイルを素直にプリンタに送る手があるなら、それでもけっこうです。
 ちなみに、ファイルをドラッグしてプリンタアイコンにドロップすると、「このファイルを印刷できません。正しいアプリケーションからファイルを開いてから、印刷してください」となります。
 QNo.892138 の質問と関連します。
 レジストリを見ると、いくつかの場所で以下のように指定されています。
"PRN"="\\DosDevices\\LPT1"

質問者が選んだベストアンサー

  • 回答No.3
  • ベストアンサー

ベストアンサー率 35% (14/39)

>Canon のプリンタの LIPS の体系とはまったく違っているのではないでしょうか。

えーと、CanonのプリンタでもモノによってはLIPSとESC/Pを切り替えたりできるものもあるのです。LIPSの場合は$PRNESCP.SYSは必要ないと思います。

>パソコン1台でプリンタとつないでいる環境で、「ローカルプリンタを共有設定して」というのは、具体的にどうやるのでしょうか。

プリンタのプロパティにある共有タブで普通にプリンタを共有してください。プリンタを共有すると"\\ホスト名\共有名"でプリンタにネットワークプリンタとしてアクセス出来るようになります。そうするとUSB接続のプリンタをネットワークプリンタとしてUNC名でアクセスできるようになりますのでNo,2で書いたCOPYコマンドで印刷出来ます。

要は自分のPCをプリントサーバーとして、USB接続のプリンタをDOSプロンプトからネットワークプリンタとして使用するのです。
お礼コメント
ogx

お礼率 72% (196/269)

 再度のお教え、ありがとうございます。
 プリンタの共有を指定した後、プリンタの共有名というのがわかりませんでしたが、「プリンタとFAX」からプリンタのプロパティを調べたら、「共有」タブのところに書いてありました。
 これを指定して、「copy file \\コンピュータ名\共有名」という行だけのバッチファイルを作り、実行したら、うまく出力することができました。
 とりあえず、これで解決したことになります。
 助かりました。
投稿日時:2005/01/11 20:17

その他の回答 (全2件)

  • 回答No.2

ベストアンサー率 35% (14/39)

私もCanonのUSB接続のプリンタ使ったこと無いのですがNo.1の方法で出そうな気がします。ただ、DOSプロンプトから印刷する場合にESC/Pを使っているようであれば$PRNESCP.SYSをCONFIG.SYSに組み込む必要があるかもしれません...

出ないようであればローカルプリンタを共有設定して
copy file \\コンピュータ名\プリンタ共有名
で出ると思います。

EPSONのPM800DCでは上記方法で出せましたので・・・
補足コメント
ogx

お礼率 72% (196/269)

 早速のお答え、ありがとうございます。
 一時期、EPSON のプリンタも使っていたので、ESP/P については、理解しているつもりですが、Canon のプリンタの LIPS の体系とはまったく違っているのではないでしょうか。
 パソコン1台でプリンタとつないでいる環境で、「ローカルプリンタを共有設定して」というのは、具体的にどうやるのでしょうか。
 「プリンタ共有」を指定してみましたが、さて、どうにもわかりません。
 もしも、さらにご助言いただけるならば、ぜひ、試してみたいと思います。
投稿日時:2005/01/10 20:11
  • 回答No.1

ベストアンサー率 23% (37/155)

USB接続のプリンターは使用したことがありませんので、は外しているかもしれません。(その場合はご容赦を)

以下のコマンドでは印刷はできませんか?

copy file LPT1 /B
補足コメント
ogx

お礼率 72% (196/269)

 早速のお答え、ありがとうございます。
 試してみましたが、ダメでした。
 command.com でも、 cmd.exe でも、ダメです。
 そもそも、プリンタのプロパティを見てみると、LPT1 のプリンタポートと、USB001 (Virtual printer port for USB) があり、プリンタ自体は(今は)後者につながった形になっているのです。
 そんなわけで、この方法はどうにもならないような気がしてきました。
 昔流の考え方と、新しい考え方(USB→新しいデバイス?)が不一致なのですね。PRN しかなかった時代の DOS の設計を今に活かすことは難しいということでしょうか。
 しかし、いろいろ苦労して、プリンタコマンドを習得して、プログラムを用意してノウハウを蓄積してきたのに、それがパソコンメーカーの(パラレル→USB の)プリンタ接続方法のちょっとした変更に伴って無になってしまうのは残念です。
 このやり方は、自分としては気に入っていたんですけれどねえ。
投稿日時:2005/01/10 19:57
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ページ先頭へ