前提・実現したいこと
Windowsのコマンドラインから、
type con > \\(コンピュータ名)\(プリンタ共有名)
などとして印刷がしたいです。
できないならそれでもよいのですが、原因というか理由が知りたいです。
プリンタは共有設定をしてある{共有設定をしないと\\(コンピュータ名)\(プリンタ共有名)とできない}、LANでつないであるプリンタです。
発生している問題
以下の入力例のようにやると、typeコマンドをリダイレクトしたりcopyコマンドを使っても何も起こりません。
しかしnotepad.exe /pt 云々だとプリントがちゃんとできます。
追記:printコマンドについては回答で教えていただいたデバイス指定の/D:をつけても印刷できないのは、教えて!gooのprintコマンドでプリントできない質問にあるように、
MS-DOS 5.0用のPRINT.EXEは、Windowsのコマンドプロンプトでは動作しません。
本来、PRINT.EXEはMS-DOS 5.0動作中に「常駐してバックグラウンドで」印刷を行います。
しかし「常駐してバックグラウンドでの動作」は「Windowsのコマンドプロンプトではサポートされてない」ので「PRINT.EXEは、プリンタにイニシャライズコマンドを送信後、常駐しようとして常駐できず、なにもしないで終る」のです。
というのが原因...かとも思いますがネット上にはコマンドプロンプトでprintコマンドが使えているような情報も有るんで詳細はわかりません。
該当のソースコード
notepad.exe /pt "c:\Users\(ユーザー名)\t.text" "\\DESKTOP-0S6C7JD\CanonMG6330"
rem これだとプリントがちゃんとできる!
type con > \\DESKTOP-0S6C7JD\CanonMG6330
rem エラーもなにもおこらない(印刷できない)
copy t.text \\DESKTOP-0S6C7JD\CanonMG6330
rem エラーもなにもおこらない(印刷できない)
print t.text /D:\\DESKTOP-0S6C7JD\CanonMG6330
rem 「C:\Users\(ユーザー名)\t.textは印刷中です」表示がでる(印刷できない)
rem 追記:https://oshiete.goo.ne.jp/qa/3793052.htmlのNo.1の回答が原因?
試したこと
まず
type con > prn や type con > lpt1 を試してみました。
それだと「ファイルが見つかりません」と言われるので、
Yahoo知恵袋でのコマンドプロンプトでのUSBプリンタなどの使用の質問をみて、プリンタの共有設定をして、
type con > \\DESKTOP-0S6C7JD\CanonMG6330
や
copy t.text \\DESKTOP-0S6C7JD\CanonMG6330
を試してみました。がプリントできなかったので質問しました。
(でもnotepad.exe /ptだとプリントできる)
なお、MS Officeやブラウザなど普通のWindowsアプリケーションからは印刷ができます。pingもちゃんと応答があります。
補足情報(言語/FW/ツール等のバージョンなど)
Windows10 (10.0.14393)です。
プリンタはCanon MG6330で、無線にてLANに接続しています。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
+2
今更ですが、(と言うより、気が付かなかった)
今のプリンタでは、昔ながらの copy
とか、print
とかでは、印刷できません。 正確には、大半のインクジェット、レーザープリンタでは、ですね。
まず、I/F が シリアル(RS232C)、パラレルでないですね。とすると、上記のコマンドでデータ転送できるか?
USBの場合、WinXp辺りまでは、USBxxでアクセスできたようなのですが、それ以降は無理みたいです。(レジストリから、ポート名を探したが、結構、大変)
ネット接続だと、ftp とか使って、Port 9100(? ちょっと自信が無い)辺りにデータを送り付ける事は可能です。(Unix/Linuxだと、lpr コマンド?)
また、印刷コマンドが、各社独自(かつ、非公開)になって、半角英数字くらいならば、印刷するものもありますが、まず、大半は、無視(or エラー)されます。
Windowsアプリ(notePadも)の場合、プリンタドライバを介する事で、ビットイメージに変換し、独自の印字コマンドを送っています。
あとは、テキストファイルをプリンタドライバを介して、プリンタに送るツールがあるかどうかですが、、、ちょっと知りません。(作る事は難しくなさそうですが)
全く無理? と思って検索したら、Windowsでも lprコマンドが使える設定があるようです。(手元のコマンドプロンプトはNGだったが) そこで、PostScriptファイルを送れば、良い、、なんてのがありました。(数社)
ただ、PostScriptをサポートしているプリンタもそう多くは無いと思います。 (ビジネス向けの一部)
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
checkベストアンサー
0
print t.text /D:\\DESKTOP-0S6C7JD\CanonMG6330
/D: が必要では?
プリンタ持ってないので試せませんが、、、
投稿
-
回答の評価を上げる
以下のような回答は評価を上げましょう
- 正しい回答
- わかりやすい回答
- ためになる回答
評価が高い回答ほどページの上位に表示されます。
-
回答の評価を下げる
下記のような回答は推奨されていません。
- 間違っている回答
- 質問の回答になっていない投稿
- スパムや攻撃的な表現を用いた投稿
評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.10%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる
2019/05/04 12:59
なるほど...難しそうですね。(素直に大昔のプリンタでも買ってきたほうが簡単かもしれません)
2019/05/04 13:10
インクジェットは、少し前の機種で、試したんですが、ダメでした。(ドライバ出力(ファイル)を送ったら、印字したんで、コマンドの問題かと)
2019/05/04 13:25
追加情報ありがとうございます。