![批处理脚本 - 从服务器打印机查询文件名](https://linux22.com/image/551875/%E6%89%B9%E5%A4%84%E7%90%86%E8%84%9A%E6%9C%AC%20-%20%E4%BB%8E%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%89%93%E5%8D%B0%E6%9C%BA%E6%9F%A5%E8%AF%A2%E6%96%87%E4%BB%B6%E5%90%8D.png)
- 客户端:Windows XP
- 打印服务器:Ubuntu 通过 CUPS
有没有办法从客户端查询服务器上的打印机队列来检索正在打印的文件的名称?
代码示例如下:
FOR /F "tokens=* USEBACKQ" %%F IN (`COMMAND TO QUERY PRINT JOBS ^| FIND "FILENAME"`) DO (
SET var=%%F
)
IF NOT DEFINED var (
ECHO Print Job Does Not Exist
) ELSE (
ECHO Print Job Completed
)
答案1
我完全忘了更新这个=D。
我的解决方案最终是查询工作站上的本地打印队列。
CSCRIPT "C:\WINDOWS\system32\PRNJOBS.vbs" -l ^| FIND /I "printed file"
运行该程序会查询本地打印作业及其文件名,然后我在输出中搜索该文件以查看它是否成功进入打印队列。这是我能想到的最接近解决方案的方法,到目前为止,它一直有效。