CMD批量打印pdf通过Acrobat Reader DC

时间:2015-06-28 03:40:16

标签: batch-file pdf command-line

我希望按字母顺序打印多个PDF文件,
这些文件是MitOpenCourse的讲义:D
但“右键单击 - 打印”选项似乎只是以随机顺序打印出来。

所以我尝试使用命令行使用以下引用: http://partners.adobe.com/public/developer/en/acrobat/sdk/pdf/intro_to_sdk/DeveloperFAQ.pdf
(第27页)

  

for(* .pdf)中的%% X执行“C:\ Program Files \ Adob​​e \ Acrobat Reader DC \ Reader \ AcroRd32.exe”/ t %% X“\ E06-02-4321 \ HP Officejet 7110 series “

所以这就是我在批处理文件中写的内容。但它似乎没有用。 当我运行批处理时,它只会打开一个acrobat阅读器,就是这样 我正在使用的打印机 - 如您所见,HP Officejet 7110和E06-02-4321是我的电脑名称。

我尝试在批处理中使用echo并暂停,但它没有显示任何错误。

帮助将不胜感激!
克里斯

1 个答案:

答案 0 :(得分:1)

AcroRd32.exe /t path "printername" "drivername" "portname"
  

启动Adobe Reader并打印文件,其路径必须完整   指定,同时禁止“打印”对话框。四个   /t选项的参数评估为pathprintername,   drivernameportname(所有字符串)。

     
      
  • printername - 您的打印机名称。
  •   
  • drivername - 打印机驱动程序名称,与打印机属性中的名称一致。
  •   
  • portname - 打印机的端口。 portname不能包含任何" /"字符;如果是,则将输出路由到默认端口   打印机。
  •   

恕我办公室/t选项的四个参数是强制性的(非兼性的);因此,提供如下:

set "acrobat=C:\Program Files\Adobe\Acrobat Reader DC\Reader\AcroRd32.exe"
set "printername=HP Officejet 7110 series"
set "drivername=HP Officejet 7110 series"
set "portname=USB001"
for %%X in (*.pdf) do "%acrobat%" /t "%%~fX" "%printername%" "%drivername%" "%portname%"
rem                                   %%~fX = fully qualified file name

wmic path Win32_Printer get caption, drivername, portname命令获取实际值,甚至从wmic path Win32_Printer get /value获取实际值(使用两个嵌套for /F循环的脚本对wmic输出。)