私はWindows 7で一部の印刷を自動化したいと考えています。理想的にはコマンドラインからです。右クリックして[印刷]を選択したかのように。
コマンドを試してみました:
C:\>print /D:"CutePDF Writer" test.txt
そのプリンターは、PDFファイル(XPSプリンターのような)を作成することになっていますが、プリンターキューに何も表示されませんでした。アイデア?
print
コマンドは、/d:
スイッチに次のsynatxを使用します。
ジョブを印刷するプリンターを指定します。プリンターが接続されているコンピューターのポートを指定することにより、ローカルプリンターを指定できます。パラレルポートの有効な値は、LPT1、LPT2、およびLPT3です。シリアルポートの有効な値は、COM1、COM2、COM3、およびCOM4です。キュー名(\ ServerName\ShareName)でネットワークプリンターを指定することもできます。プリンターを指定しない場合、印刷ジョブはLPT1に送信されます。
つまり、"CutePDF Writer"
を引数として使用することはできません。
機能する方法は2つあります。
プリンターにCOMポートを割り当てます。
COM1:
からCOM4:
までの未使用のポートをプリンターに割り当てます。COM3
などを選択した場合は、次のコマンドを使用して印刷します。
print /d:COM3 test.txt
プリンターを共有します。
CutePDF
などを選択した場合は、次のコマンドを使用して印刷します。
print /d:\\%COMPUTERNAME%\CutePDF test.txt
こんにちはDOSを知っていれば、CutePDFをデフォルトのプリンターとして設定する方が簡単です。プリンターをデフォルトとして設定しても問題はないので、デフォルトのプリンター設定に再度リセットします。
テキストファイル、htmファイル、batファイル、またはテキストファイルを印刷するには、次のように入力します。
notepad /p test.txt
他のプログラムの場合は、印刷用のコマンドライン形式を見つけます(regeditまたはドキュメント内)。
登録されているファイルタイプの印刷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プリンターで表示されるユーザーダイアログを無効にすることができます。
@mizipzor:
Dennisの回答に従うと、jobファイルが正常にprintqueueに入れられます。
しかしジョブ処理はスタックしますそのプリンターは[〜#〜] text [ 〜#〜]入力ファイル!理由:
したがって、コマンドを実行しても、機能しません:PDFを作成する「プリンター」にテキストファイルを送信します。そしてそれを機能させることは不可能です他の「単純な」方法でも...
コントロールパネルの[デバイスとプリンター]プリンターを右クリックして、プリンターのプロパティを選択します。プリンターが共有されており、[共有名]が8文字以下であることを確認します。 DOSプロンプトで> net Use lpt1:\ 127.0.0.1 \これで、DOSプログラムが印刷されます!