Board logo

标题: [系统相关] 批处理查询打印机使用记录为什么执行后没有效果呢? [打印本页]

作者: wh123wh123    时间: 2024-4-24 00:30     标题: 批处理查询打印机使用记录为什么执行后没有效果呢?

  1. @echo off
  2. setlocal
  3. set printerName="打印机名称"
  4. :loop
  5. rem 获取最早的打印记录
  6. for /f "skip=2 tokens=*" %%a in ('wmic PRINTER where "Name=%printerName%" get JobId^,Document^,Status^,TimeSubmitted /format:csv') do (
  7.   set "line=%%a"
  8.   goto :next
  9. )
  10. goto :done
  11. :next
  12. rem 打印记录所在行有多余逗号,需要去除
  13. set "line=%line:~0,-1%"
  14. set "line=%line:~0,-1%"
  15. set "line=%line:~0,-1%"
  16. rem 解析 CSV 格式的打印记录,并输出
  17. for /f "tokens=1-4 delims=," %%a in ("%line%") do (
  18.   echo 打印时间: %%d
  19.   echo 打印文档: %%b
  20.   echo 打印状态: %%c
  21.   echo.
  22. )
  23. goto :loop
  24. :done
  25. pause
  26. endlocal
复制代码
网上看到这段代码,为什么执行后没有效果呢?
作者: Batcher    时间: 2024-4-24 08:37

回复 1# wh123wh123


找到文件 C:\Windows\System32\cmd.exe
右键单击 cmd.exe 以管理员身份运行
在打开的CMD窗口中输入命令:
wmic Printer get Name,Status /value
回车
截图发出来看看

输入命令:
wmic Printer where "Name=把这里改成你想查看的打印机名称" get JobId,Document,Status,TimeSubmitted /format:csv
回车
截图发出来看看
作者: wh123wh123    时间: 2024-4-24 09:50

回复 2# Batcher

感谢领导帮助,在打开的CMD窗口中输入命令后的全部显示内容如下:

C:\Windows\system32>wmic Printer get Name,Status /value


Name=Phantom Print to Evernote
Status=Unknown


Name=Microsoft XPS Document Writer
Status=Unknown


Name=Foxit Phantom Printer
Status=Unknown


Name=Fax
Status=Unknown


Name=Canon MG3080 series
Status=Unknown




C:\Windows\system32>wmic Printer where "Name=Canon MG3080 series" get JobId,Docu
ment,Status,TimeSubmitted /format:csv
Node - PONFD591604FL
ERROR:
Description = Invalid query

Node,

C:\Windows\system32>
作者: wh123wh123    时间: 2024-4-25 00:51

本帖最后由 wh123wh123 于 2024-4-25 00:53 编辑

回复 2# Batcher

批处理能不能记录查询打印机的使用情况?或者用vbs自动记录打印日志(打印时间、打印的文件名称、页数等信息),就像vbs记录电脑开关机运行情况一样效果,能不能实现?
作者: Batcher    时间: 2024-4-25 08:27

回复 4# wh123wh123


我知道有个VBS可以去系统事件日志里面获取开关机记录
没有看到过记录开关机的VBS
你说的脚本出自什么地方能否分享一下?
作者: wh123wh123    时间: 2024-4-25 08:32

本帖最后由 wh123wh123 于 2024-4-25 08:35 编辑

回复 5# Batcher

批处理BAT记录开关机,好多年前用过,忘记在哪个论坛找到的了,就是把批处理放到开机里,只要开关机自动记录开关机时间输出到指定路径的文本文件里。
作者: czjt1234    时间: 2024-4-25 12:27

应该是组策略里的启动脚本和关机脚本
作者: wh123wh123    时间: 2024-4-25 12:34

回复 7# czjt1234

是的,用BAT能不能按这个思路实现打印机的使用记录?包括打印日期时间、文件名称、页数。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2