你好,我是新来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为文本的每一行中指定的文件名。
这可能吗? 我不傻,我学得很快的话,如果任何机构可以怎么办变量在批处理文件中,以及如何阅读信息表格中的文字,将是非常美妙的指向正确的方向我。
运行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系统,但是我依赖于我的记忆老化这里...
从尝试2Printer命令行工具: http://doc2prn.com/
PDF文档的命令行示例的打印清单:2Printer.exe -l “C:\输入files.txt” -prn “佳能MP610”
2Printer是免费的!
像这样的东西应该让你开始:
for /f %%i in (myfiles.txt) do (
"C:\Program Files (x86)\Adobe\Reader 10.0\Reader\AcroRd32.exe" /t "%%i%"
)
您可以获取有关for
语法和选项在MS这里的Technet
总之,对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
这个批处理文件将改变默认打印机,打印文件夹中的一切,然后更改默认打印机回