
ネットワークフォルダが存在するかどうかを確認できるようになりました
IF EXIST \\192.168.1.2\SharedFolder\ (echo It exist)
しかし、ネットワーク プリンターが存在するかどうかのチェックは有効になっていません。
IF EXIST \\192.168.1.2\printername (echo It exist)
答え1
次のRobvanderwoude.com からのスクリプトプリンターの存在をテストします:
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
答え2
スクリプトを中断させる「プリンターが見つかりません」というポップアップ メッセージを回避するために deleteprinters.bat を改善する方法を探しているときに、このトピックを見つけました。
しかし、この場合、最も簡単に処理する方法は、RUNDLL32.EXE PRINTUI.DLL,PrintUIEntry の後に /q パラメータを追加することです。
念のため。