批量打印文本文件中列出的PDF文件

时间:2012-09-14 02:23:04

标签: pdf command-line printing batch-file cmd

您好我是CMD的新手,但我想制作批量打印解决方案。

我知道使用:

"C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe" /t "C:\file_1.pdf"

我可以打印file_1.pdf,但我真正需要的是打印多个文件,比方说file_2,file_3 ... file_n,因此我的指令将改为:

"C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe" /t "C:\XXXX.pdf"

我考虑制作一个TEXT文件,在那里我可以写出我需要打印的文件的名称。然后在批处理文件中创建一个循环,该循环将读取TEXT的每一行,并将我的变量XXXX更改为TEXT的每一行中指定的文件的名称。

这可能吗?我并不傻,而且学得很快,如果有任何人可以指出我如何在批处理文件中做变量的正确方向,以及如何从TEXT中读取信息那将是非常棒的。

4 个答案:

答案 0 :(得分:3)

在cmd.exe窗口中运行for /?并阅读输出,或参阅Loop command: against a set of files

基本上,如果要批量打印目录中的所有PDF,可以执行以下操作:

for %i in (*.pdf) do ^
  "C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe" /t %i

如果直接在“DOS框”窗口中运行,这是要使用的行。如果从BAT文件运行,则需要将%i替换为%%i

如果您要在* .txt文件中逐行枚举要打印的文件:

for /f %i in (mypdfs.txt) do ^
  "C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe" /t %i

注意:我没有测试运行命令,因为我没有Windows系统,但我依靠我的老化内存......

答案 1 :(得分:1)

尝试使用2Printer命令行工具: http://doc2prn.com/

打印PDF文档列表命令行示例: 2Printer.exe -l“C:\ input files.txt”-prn“Canon MP610”

2Printer是免费的!

答案 2 :(得分:0)

这样的事情应该让你开始:

for /f %%i in (myfiles.txt) do (
  "C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe" /t "%%i%"
)

您可以获得有关for语法和选项here at MS Technet

的更多信息

答案 3 :(得分:0)

全部,为了扩展Kurt的答案......这就是我所做的:


RUNDLL32 PRINTUI.DLL,PrintUIEntry /y /n "Brother MFC-J6930DW Printer"
Timeout /T 10
CD\
cd Users\bill\Desktop\PrintMe
Timeout /T 2
for %%i in (*.pdf) do "C:\Program Files (x86)\Foxit Software\Foxit Reader\FoxitReader.exe" /t "%%i"
Timeout /T 10
RUNDLL32 PRINTUI.DLL,PrintUIEntry /y /n "HP OfficeJet Pro 8710 (Network)"
Pause

此批处理文件将更改默认打印机,打印文件夹中的所有内容,然后更改默认打印机