【发布时间】:2023-03-11 00:21:01
【问题描述】:
我想在我的 Win7 64 位机器上查看新的 pdf 文件的文件夹 - 并在文件夹中有 pdf 文件时自动打印它们。打印后,pdf 文件应移动到子文件夹中。所以,经过一些谷歌研究后,我做了一个小批量文件。
cd "D:\print"
for %%i in (*.pdf) do (
"C:\Program Files\Tracker Software\PDF Viewer\PDFXCview.exe" /print "%%i"
timeout /T 10 /nobreak
move D:\print\*.pdf D:\print\printed
echo %%i
)
我将它作为 print.cmd 存储在文件夹 d:\print 中。当我通过双击启动 cmd 时,我的打印机开始工作,并且 pdf 文件移动到我定义的子文件夹(D:\print\printed)。
为了查看文件夹,我想创建一个计划任务,将这个 cmd 脚本重复 5 分钟。
但是: 这不起作用,当脚本通过计划任务启动时,打印机不工作 - 文件的“移动”正在工作。
我进入了计划任务:
程序:C:\Windows\SysWOW64\cmd.exe
参数:/c"d:\print\print.cmd"
任何想法,为什么我不能通过计划任务访问打印机? 打印机通过usb连接。
希望我能提供必要的信息!感谢您的回答!
【问题讨论】:
-
move D:\print\*.pdf D:\print\printed应该是move D:\print\%%i D:\print\printed,否则 所有 个pdfs 将在仅打印一个后移动。不能说我是计划任务方面的专家,但在我看来,在运行计划任务的用户下定义的默认打印机不是所需的 USB 打印机。您能否在PDFXCview.exe参数中明确指定打印机? -
您是否选择了从文件夹开始?您正在启动 cmd.exe,它使工作目录成为 C: 驱动器上的 system32 目录。因此,当您更改目录时,您必须使用 /D 选项将工作目录设为 D: 驱动器。当您双击批处理文件运行它时,工作目录是 D: 驱动器,因为这是存储和执行脚本的地方。
-
哇!我在我的任务中添加了 d:\print 作为工作目录,它立即工作!非常感谢!我现在需要做一些测试和检查,希望我能再次请你们帮助我改进脚本;)
-
如果批处理文件位于 D:\Print 中,您可以添加
PushD %~dp0以强制 D:\Print 也成为工作目录。
标签: batch-file printing cmd task