您好我是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中读取信息那将是非常棒的。
答案 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
此批处理文件将更改默认打印机,打印文件夹中的所有内容,然后更改默认打印机