我正在寻找一个批处理函数来检查一台打印机是否已经存在于Windows XP系统上。
我编了下面的脚本:
set PRINTEREXISTS=0 For /F "Tokens=8 delims=\" %%I IN ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Print\Printers" ^|find /I"r016-printer01"') Do ( echo %%I set PRINTEREXISTS=1 ) if "%PRINTEREXISTS%"=="0" ( echo Printer doesn't exist ) else ( echo Printer exists )
然而,这有时输出打印机名称,然后Printer doesn't exist即使它不应该因为PRINTEREXISTS=1 …(不是一个问题的注册查询,但与批处理脚本不知何故)
有任何想法吗?
batch file? 为什么不是一个VBScript至less。 就像是:
strPrinterName ="r016-printer01" Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colPrinters = objWMIService.ExecQuery("Select * From Win32_Printer where name = '" & strPrinterName & "'") If colPrinters.Count <> 0 Then wscript.echo "Printer exists" else wscript.echo "Printer doesn't exist" End If