批量打印PDF文件,在一个文本文件中列出(Batch print PDF files listed

2019-06-28 09:39发布

你好,我是新来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"

我想过做一个文本文件,在那里我可以写,我需要打印的文件的名称。 然后在批处理文件做一个循环,将阅读文本的每一行,并改变我的变量XXXX为文本的每一行中指定的文件名。

这可能吗? 我不傻,我学得很快的话,如果任何机构可以怎么办变量在批处理文件中,以及如何阅读信息表格中的文字,将是非常美妙的指向正确的方向我。

Answer 1:

运行for /? 在cmd.exe的窗口和读取输出,或者看到循环命令:对一组文件

基本上,如果你想批量打印目录中的所有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系统,但是我依赖于我的记忆老化这里...



Answer 2:

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

PDF文档的命令行示例的打印清单:2Printer.exe -l “C:\输入files.txt” -prn “佳能MP610”

2Printer是免费的!



Answer 3:

像这样的东西应该让你开始:

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

您可以获取有关for语法和选项在MS这里的Technet



Answer 4:

总之,对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

这个批处理文件将改变默认打印机,打印文件夹中的一切,然后更改默认打印机回



文章来源: Batch print PDF files listed in a text file