
Puedo verificar si existe una carpeta de red.
IF EXIST \\192.168.1.2\SharedFolder\ (echo It exist)
pero no puedo verificar si existe una impresora de red.
IF EXIST \\192.168.1.2\printername (echo It exist)
Respuesta1
La siguienteguión de Robvanderwoude.comPruebas para la existencia de una impresora:
REM NOTE: RUNDLL32.exe and PRINTUI.exe always return Errorlevel=0
REM The trick: Try to get the printer settings into a file
REM If No file is created = The Printer does not exist
SET PrinterName=FIT FP-32L Raster
SET TESTfile=%TEMP%\PrtExist.txt
REM Delete %TESTfile% to avoid false positives
DEL %TESTfile% /F /Q
REM Try to get the printer settings into a file
RUNDLL32.EXE PRINTUI.DLL,PrintUIEntry /Xg /n "%PrinterName%" /f "%TESTfile%" /q
IF EXIST "%TESTfile%" (
ECHO %PrinterName% printer exists
) ELSE (
ECHO %PrinterName% printer does NOT exists
)
PAUSE
Respuesta2
Encontré este tema mientras buscaba una manera de mejorar mi deleteprinters.bat para evitar estos mensajes emergentes "Impresora no encontrada", que interrumpen mi secuencia de comandos.
Pero en este caso, la forma más fácil de manejar esto es simplemente agregar el parámetro /q después de RUNDLL32.EXE PRINTUI.DLL,PrintUIEntry.
Por si acaso.