从Windows 7命令行打印


8

我希望在Windows 7中自动执行一些打印。理想情况下,从命令行。就像我会右键单击并选择“打印”一样。

试过命令:

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

该打印机应该创建PDF文件(如XPS打印机),但没有设法在打印机队列中显示任何内容。想法?




您是要创建PDF文件还是打印它们(或两者)?
martineau 2012年

@martineau我正在尝试使用“打印机”创建PDF文件。所以我猜两个。但我不打算获得实体文件。
mizipzor

@mizipzor:好的,我明白了。我认为丹尼斯有你的答案。我会LPT1尽可能分配它,这是大多数命令的默认值。
马蒂诺

Answers:


15

print命令使用以下synatx作为/d:交换机:

指定要在其上打印作业的打印机。您可以通过指定计算机上连接打印机的端口来指定本地打印机。并行端口的有效值是LPT1,LPT2和LPT3。串行端口的有效值为COM1,COM2,COM3和COM4。您还可以通过其队列名称(\ ServerName \ ShareName)指定网络打印机。如果未指定打印机,则打印作业将发送到LPT1。

这意味着你不能"CutePDF Writer"用作参数。

有两种方法可行:

  • 为打印机分配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 2015年

您可能需要您的TXT转换为PDF格式首先使用免费的命令行程序调用text2pdf:eprg.org/pdfcorner/text2pdf
太阳

5

嗨以下更容易将CutePDF设置为默认打印机,如果您知道DOS然后将打印机设置为默认应该没问题,然后再次重置为默认打印机设置。

要打印文本文件或htm文件或bat文件或任何文本文件,请输入以下内容

  notepad /p test.txt

对于其他程序,找到用于打印的命令行格式(在regedit或文档中)


3

打印已注册的文件类型可以使用鼠标右键打印在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 ] ]"

(方括号表示可选)。它可以使用PowerShell从cmd调用,自Vista之后在Windows中提供。

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. 当您按照Dennis的回答时,作业文件成功进入printqueue

  2. 但是由于打印机无法使用TEXT输入文件,因此作业处理卡住了!原因:

    • 在这方面,Windows打印队列更加愚蠢(与CUPS Linux / Unix / OSX队列相反 - 它可以自动输入传入数据并自动将它们转换为相应的printqueue报告为可摘取数据)。
    • 您的打印机很可能希望PostScript数据作为输入,以便从中创建PDF。

因此,您尝试对命令执行的操作将无效:将文本文件发送到创建PDF的“打印机”。并且不可能以任何其他“简单”方式使其工作 ......


0

控制面板然后是设备和打印机右键单击打印机然后打印机属性确保打印机已共享,“共享名称”为8个字符或更少。在DOS提示符下> net use lpt1:\ 127.0.0.1 \现在您的DOS程序将打印出来!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.