從 Windows 7 命令列列印

從 Windows 7 命令列列印

我希望在 Windows 7 中自動執行一些列印。就像我右鍵單擊並選擇“列印”一樣。

嘗試了命令:

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

這台印表機應該會建立 PDF 文件(如 XPS 印表機),但沒有設法在印表機佇列中顯示任何內容。有想法嗎?

答案1

print指令對開關使用以下 synatx /d:

指定要列印作業的印表機。您可以透過指定電腦上連接印表機的連接埠來指定本機印表機。並行埠的有效值為 LPT1、LPT2 和 LPT3。序列埠的有效值為 COM1、COM2、COM3 和 COM4。您也可以透過佇列名稱 (\ServerName\ShareName) 指定網路印表機。如果不指定印表機,列印作業將會傳送到 LPT1。

這意味著您不能用作"CutePDF Writer"參數。

有兩種方法應該有效:

  • 為您的印表機指派一個 COM 連接埠。

    1. 打開開始 → 控制面板 → 裝置和印表機
    2. 右鍵單擊可愛的PDF書寫器並選擇印表機屬性
    3. 在裡面港口在選項卡中,將未使用的連接埠從 指派COM1:COM4:您的印表機。
    4. 如果您選擇,例如,COM3使用以下命令進行列印:

      print /d:COM3 test.txt
      
  • 共用印表機。

    1. 打開開始 → 控制面板 → 裝置和印表機
    2. 右鍵單擊可愛的PDF書寫器並選擇印表機屬性
    3. 在裡面分享在選項卡上,決定共用印表機並為其指定共用名稱。
    4. 如果您選擇,例如,CutePDF使用以下命令進行列印:

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

答案2

列印註冊的文件類型 可以使用滑鼠右鍵列印在 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 ] ]"

(方括號表示可選)。這意味著您可以使用註冊表項中的此資訊根據cmd此模式直接呼叫實際應用程式。或者您可以使用 powershell 透過此關聯間接呼叫它,自 Vista 起 Windows 中就附帶了該功能:

powershell "-Command" "& {Start-Process -FilePath  'test.txt'  -ArgumentList '\"Microsoft Print to PDF\"' -Verb 'printto' }"

由於未知原因,它的簡潔形式 ( powershell -command "start -verb printto AnyFile.rtf PrinterName [ DriverName [ PortName ] ]") 或從 powershell 提示字元運行它在我的電腦上不起作用。

它適用於幾乎所有具有此類註冊動詞的註冊文件類型(列印到)!

更新:列出已安裝的印表機 wmic printer list brief

UPD:還有一個列印動詞。它不接受文件之外的任何參數。所以如果你替換的話,以上幾乎所有內容都是正確的列印到列印並刪除其他印表機參數。

但印表機驅動程式通常會顯示使用者對話方塊。可以在 Bullzip Pdf 印表機中停用使用者對話方塊顯示。

答案3

您好,如果您了解 DOS,那麼將 CutePDF 設定為預設印表機會更容易,那麼將印表機設定為預設印表機應該沒有問題,然後再次重設為預設印表機設定。

若要列印文字檔案、htm 檔案、bat 檔案或任何文字文件,請輸入以下內容

  notepad /p test.txt

對於其他程序,找到用於列印的命令列格式(在 regedit 或文件中)

答案4

控制面板然後裝置和印表機右鍵單擊印表機然後印表機屬性確保印表機已共用且「共用名稱」不超過 8 個字元。在 DOS 提示符號 >net use lpt1: \127.0.0.1\ 現在您的 DOS 程式將會列印!

相關內容