中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]如何用批处理实现批量打印某个文件夹下的所有pdf文件
作者:
标题: [已结]如何用批处理实现批量打印某个文件夹下的所有pdf文件 上一主题 | 下一主题
unique009
初级用户





积分 28
发帖 8
注册 2005-11-5
状态 离线
『楼 主』:  [已结]如何用批处理实现批量打印某个文件夹下的所有pdf文件

求助:如何用批处理实现批量打印某个文件夹下的所有pdf文件?


另:电脑是windows2000 sp4  
局域网
网络打印机,通过打印服务器连接


请教各位路过的达人们,有办法吗?

[ Last edited by unique009 on 2005-11-8 at 13:43 ]

2005-11-7 10:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
JonePeng
金牌会员

D◎$ Fαп


积分 4562
发帖 1883
注册 2004-1-19
来自 广东广州
状态 离线
『第 2 楼』:  

在我的电脑里全选所有pdf文件,单击鼠标右键,按“打印(Print)”。



----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
  
2005-11-7 12:44
查看资料  发送邮件  发短消息 网志  OICQ (373343541)  编辑帖子  回复  引用回复
unique009
初级用户





积分 28
发帖 8
注册 2005-11-5
状态 离线
『第 3 楼』:  

这个...这个...方法是可以
但是我想要实现的功能是这样的
1.制作一个批处理,并在文件夹右键加入这个bat文件的快捷方式如"打印所有pdf文件"
2.当选中某个文件夹并右键单击"打印所有pdf文件"时,打印此目录下的所有pdf文件,然后在此文件夹中以当天时间再建一个子文件夹,并将所有已打印过的pdf文件移入此文件夹内

不知能否实现此功能
目前主要对于“批处理实现批量打印某个文件夹下的所有pdf文件”这一点不知该怎么办

感谢回复!

2005-11-7 13:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
JonePeng
金牌会员

D◎$ Fαп


积分 4562
发帖 1883
注册 2004-1-19
来自 广东广州
状态 离线
『第 4 楼』:  

对第一个问题,创建一个批处理文件 Print.bat, 放在任意目录,如C:\windows,内容就只有下面一行(假设Acrobat Reader所在路径是c:\program files\acrobat 6.0\Reader\AcroRd32.exe,操作系统以WinXP Professional为例):
@for %%a in (*.pdf) do "c:\program files\acrobat 6.0\Reader\AcroRd32.exe" /p /h "%%a"
然后对文件夹进行关联:

打开“我的电脑”,从菜单栏上选“工具”--“文件夹选项”--“文件类型”,下拉列表,找到“文件夹”,单击“高级”--“新建”--在“操作”框里填入“打印所有pdf文件”,执行的应用程序就填上那个批处理的路径:C:\windows\print.bat,按“确定”。

第二个问题,大体上一致,批处理就长一些,取名为Print2.bat,同样放在C:\windows下:
@echo off
for %%a in (*.pdf) do "c:\program files\acrobat 6.0\Reader\AcroRd32.exe" /p /h "%%a"
set DestDir=%date:~0,-4%
if not exist %DestDir% md %DestDir%
move *.pdf %DestDir%
好,再用上面第一个问题的方法,为PDF类型的文件进行关联,道理一样,我就不赘述了。



----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
  
2005-11-7 22:36
查看资料  发送邮件  发短消息 网志  OICQ (373343541)  编辑帖子  回复  引用回复
unique009
初级用户





积分 28
发帖 8
注册 2005-11-5
状态 离线
『第 5 楼』:  



  Quote:
Originally posted by JonePeng at 2005-11-7 22:36:

@echo off
for %%a in (*.pdf) do "c:\program files\acrobat 6.0\Reader\AcroRd32.exe" /p /h "%%a"
set DestDir=%date:~0,-4%
if not exist %DestDir% md %DestDir%
move *.pdf %DestDir%

谢谢,想再问一下红色的"/p /h"参数是什么意思?

%date:~0,-4%  又是什么意思?以前没见过这种格式的

2005-11-8 09:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
unique009
初级用户





积分 28
发帖 8
注册 2005-11-5
状态 离线
『第 6 楼』:  

因为我看见以前的贴子很多都是用for来提取时间的

2005-11-8 09:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
JonePeng
金牌会员

D◎$ Fαп


积分 4562
发帖 1883
注册 2004-1-19
来自 广东广州
状态 离线
『第 7 楼』:  

/p 参数就是打印, /h 的具体意思我不大清楚,我猜可能就是允许后台打印的意思吧。这些参数从哪儿来的呢?其实我是在文件夹选项的文件类型里找到 pdf 文件类型,查看其关联设置时就发现Print一项的命令行有这些参数。

%date:~0,-4% 是提取当前日期变量的一部分:由于%date%变量包括日期和星期几,我希望仅仅要日期部分,即从第一个字符开始到倒数第四个字符,这样就能提取出一个日期的字符串。这个变量的用法仅适用于Win2000/XP/2003,详细的用法可以输入 set /? 来查询。



----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
  
2005-11-8 12:44
查看资料  发送邮件  发短消息 网志  OICQ (373343541)  编辑帖子  回复  引用回复
unique009
初级用户





积分 28
发帖 8
注册 2005-11-5
状态 离线
『第 8 楼』:  

明白了,谢谢!

2005-11-8 13:41
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: