
打印机清理删除和操作系统有很大关系,不同的操作系统对应的脚本是不同的。
Windows操作系统
windows操作系统最为复杂,使用PowerShell脚本相对简单,对应脚本如下:
Get-Printer -Name "PrinterName" | Remove-Printer
PrinterName支持正则表达式
如果使用 Windows 批处理文件 (batch) 命令来删除已安装的打印机,脚本就相对复杂一些,具体脚本如下:
for /F "delims=| tokens=*" %%i in ('wmic printer get name') do (
echo %%i|findstr /i /r "PrinterName*" >null && (
rundll32 printerui.dll,PrintUIEntry /dn /n %%i
)
)
第1行代码是查询所有已安装的打印机;
第2行代码是根据相应的打印机名称找到对应的。通常是一个正则表达式或者通配符字串,找到的是多个打印机名;
第3行代码是根据名称删除打印机,其中/dn是删除网络共享打印机,如果删除本地打印机需要使用/dl。
MacOS和Linux/Uinux
使用CUPS的管理命令可以很方便地对打印机进行管理操作。
lpstat -e | grep "PrinterName*" | xargs -n 1 lpadmin -x
通过lpstat -e 加grep找到对应的打印机(grep后的参数支持正则表达式),然后再使用lpadmin命令进行删除。
对于支持CUPS的操作系统,通过脚本命令管理打印相对简单。
CPUS相关文档:Documentation - CUPS.org