非常に古いfoxproDOSプログラムがあり、LPT1を介してドキュメントを印刷します。現在、ユーザーはソフトコピーが必要です。そこで、ローカルマシンでPDFプリンターとOneNoteプリンターを共有し、LPT1を以下のようにマップしようとしました。
PDFプリンター:
Net Use LPT1: \\{my machine name}\pdf
プリンター「SendtoOneNote2013」:
Net Use LPT1: \\{my machine name}\one
両方のコマンドが正常に完了し、以下のコマンドでタスクをプリンターのキューに追加できることがわかりますが、実際には何も出力されません
print /d:LPT1 result.txt
=> result.txt is currently being printed
注:LPT2、LPT3も試しましたが、同じ結果が得られました
主な問題はリダイレクトではありません。 Windowsプリンタドライバは、DOSプログラムによって送信された印刷コードが埋め込まれたASCIIデータストリームを処理できません。DOSプリンタはデータストリームを紙にレンダリングします。他のすべての印刷タスクには、次のものが必要です。外部のDOSからWindowsへのプリントプロセッサプログラム(より多くの場合、フリーウェア)またはvDos。ただし、これは主に、最近のほとんどのWindows 10ディストリビューションと同様に、Windows64ビットでDOSアプリケーションを実行することを目的としています。
コンピュータに物理プリンタポートが存在する場合、LPT1のリダイレクトで問題が発生することがあります。その場合は、次のことを試すことができます。
MODE LPT1:=LPT2:
(おそらくWindows 7で動作するには古すぎます)代わりにLPT2をリダイレクトします次のように、管理者としてコマンドプロンプト(cmd)で実行することもできます。
Net Use lpt1: /delete
Net Use lpt1: \\{my machine name}\{pdf-printer} /persistent:yes
何もうまくいかない場合は、問題を解決すると思われるシェアウェア製品をいくつか紹介します(試したことはありません): DOSプリンター 、 Printfil 。
今日も同じ問題がありました。引用符なしでファイルのパスを使用している場合、_""
_は_is currently being printed
_メッセージを表示しますが、実際には何も出力されないことがわかりました。ファイルのディレクトリに空白スペースがある場合、コマンドラインには引用符_""
_内のファイルのすべてのパスが必要です。