Windows 7コマンドラインからの印刷


8

私はWindows 7で一部の印刷を自動化したいと考えています。理想的にはコマンドラインからです。右クリックして[印刷]を選択したかのように。

コマンドを試してみました:

C:\>print /D:"CutePDF Writer" test.txt

そのプリンターはPDFファイル(XPSプリンターなど)を作成することになっていますが、プリンターキューに何も表示されませんでした。アイデア?




PDFファイルを作成したり、印刷したりしますか?
martineau 2012

@martineauその「プリンター」を使用してPDFファイルを作成しようとしています。だから私は両方を推測します。しかし、私は物理的な紙を手に入れようとは思っていません。
mizipzor 2012

@mizipzor:わかりました。デニスはあなたの答えを持っていると思います。LPT1可能であればそれを割り当てます。これは、ほとんどのコマンドのデフォルトです。
martineau 2012

回答:


15

printこのコマンドは、次のために使用していますsynatx /d:スイッチを:

ジョブを印刷するプリンターを指定します。プリンターが接続されているコンピューターのポートを指定することにより、ローカルプリンターを指定できます。パラレルポートの有効な値は、LPT1、LPT2、およびLPT3です。シリアルポートの有効な値は、COM1、COM2、COM3、およびCOM4です。キュー名(\ ServerName \ ShareName)でネットワークプリンターを指定することもできます。プリンターを指定しない場合、印刷ジョブはLPT1に送信されます。

つまり"CutePDF Writer"、引数として使用することはできません。

機能する方法は2つあります。

  • プリンターにCOMポートを割り当てます。

    1. [ スタート]→[コントロールパネル]→[デバイスとプリンター]を開きます
    2. CutePDF Writerを右クリックして、[ プリンタのプロパティ ] を選択します
    3. ではポート ]タブから、未使用のポートを割り当てるCOM1:COM4:プリンタに。
    4. たとえばを選択した場合は、COM3次のコマンドを使用して印刷します。

      print /d:COM3 test.txt
      
  • プリンターを共有します。

    1. [ スタート]→[コントロールパネル]→[デバイスとプリンター]を開きます
    2. CutePDF Writerを右クリックして、[ プリンタのプロパティ ] を選択します
    3. では共有 ]タブ、プリンタを共有し、それに共有名を割り当てることにしました。
    4. たとえばを選択した場合は、CutePDF次のコマンドを使用して印刷します。

      print /d:\\%COMPUTERNAME%\CutePDF test.txt
      

cmdを使用してプリンターからスキャンしたい場合はどうすればよいですか?
Muath

最初にtext2pdfと呼ばれる無料のコマンドラインプログラムを使用してTXTをPDFに変換することができます:eprg.org/pdfcorner/text2pdf
Sun

5

こんにちはDOSを知っていて、デフォルトとしてプリンタを設定しても問題がなく、デフォルトのプリンタ設定に再度リセットすると、CutePDFをデフォルトのプリンタとして簡単に設定できます。

テキストファイル、htmファイル、batファイル、またはテキストファイルを印刷するには、次のように入力します。

  notepad /p test.txt

他のプログラムの場合は、印刷用のコマンドライン形式を見つけます(regeditまたはドキュメント内)。


4

登録されているファイルタイプの印刷Windows(95/98 / NT / 2000)でファイルタイプの関連付けがあるファイルは、マウスの右ボタンを使用して印刷できます。

この関連付けは、たとえば、.rtfファイルの

"HKEY_LOCAL_MACHINE\SOFTWARE\Classes\rtffile\shell\printto\command"

コマンドは次のようになります。

"%ProgramFiles%\Windows NT\Accessories\WORDPAD.EXE" /pt "%1" "%2" "%3" "%4"

つまり:

"wordpad.exe /pt TextFileName PrinterName [ DriverName [ PortName ] ]"

(角括弧はオプションを意味します)。VistaからWindowsに同梱されているpowershellを使用してcmdから呼び出すことができます。

powershell -command "start -verb printto AnyFile.rtf PrinterName [ DriverName [ PortName ] ]"

厳密に:

"%windir%\System32\WindowsPowerShell\v1.0\powershell.exe" "-Command" "& {Start-Process -FilePath  'test.txt'  -ArgumentList '\"CutePDF Writer\"' -Verb 'printto' }"

それはそのような登録された動詞(printto)でほとんどすべての登録されたファイルタイプのために働きます!ただし、プリンタードライバーは通常、ユーザーダイアログを表示します。Bullzip Pdfプリンターで表示されるユーザーダイアログを無効にすることができます。


1

@mizipzor:

  1. ジョブファイルが正常に印刷キューに入ったあなたはデニスの答えに従ってください。

  2. しかし、そのプリンターはTEXT入力ファイルを使用できないため、ジョブの処理が滞ります。理由:

    • Windowsの印刷キューは、この点ではるかに馬鹿げています(CUPS Linux / Unix / OSXキューとは対照的です-CUPS Linux / Unix / OSXキュー-着信データを自動入力して、それぞれの印刷キューがダイジェスト可能なデータとしてレポートするものに自動的に変換できます)。
    • プリンターは、PDFを作成するための入力としてPostScriptデータを想定している可能性があります。

したがって、コマンドで実行しようとしても機能しません。PDFを作成する「プリンター」にテキストファイルを送信します。そして、それを他の「単純な」方法で機能させることも不可能です...


0

コントロールパネルの[デバイスとプリンター]プリンターを右クリックして、プリンターのプロパティを選択します。プリンターが共有されていて、[共有名]が8文字以下であることを確認します。DOSプロンプトで> net use lpt1:\ 127.0.0.1 \これでDOSプログラムが印刷されます!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.