1

我正在尝试为我的帮助台创建一个批处理文件,用于测试斑马打印机。

这是我创建的批次

set /p %zebra= Enter Printers name - 
set /p %server= Enter Server name - 
rundll32 printui.dll,PrintUIEntry /in /n\\%server%\%zebra%
mspaint /p test.bmp /pt %zebra%    
rundll32 printui.dll,PrintUIEntry /dl /n %zebra% /q

这有两件事是错的

  1. mspaint /p test.bmp /pt "network printer"告诉我指定的打印机无效。打印机在那里。和,
  2. rundll32 printui.dll,PrintUIEntry /dl /n %zebra% /q不会删除添加的打印机。我也尝试过使用/dn %zebra%,但也没有用。

有什么建议么?

4

2 回答 2

1

%zebra%标识变量'zebra'。但是在您的 set 命令中,您还使用(一个)百分比符号:

set /p %zebra= Enter Printers name - 

这会导致您设置变量%zebra,这不是您稍后读取的变量。

这仅解决了您的一个问题,但我希望它有所帮助。我无法重现其他问题。从命令行打印到特定的打印机(我什至不知道 MSPaint 可以做到这一点)在这里似乎可以正常工作。我打印到 PDFCreator 和 wifi 打印机。两者都工作正常。

一般建议:在将所有步骤组合到脚本中并引入变量和输入之前,尝试让每个步骤都在命令行上运行。这样,如果它突然停止工作,您就知道在添加用户输入之类的步骤时犯了一个(可能是微不足道的)错误。

于 2013-10-02T20:16:13.290 回答
0

问题出在打印机名称中。它不应该有空格。惠普 451 是错误的。HP_451 工作正常。

于 2015-08-27T09:09:14.087 回答