Использование errorlevel в пакетном файле для добавления сетевого принтера

Использование errorlevel в пакетном файле для добавления сетевого принтера

Я пытаюсь написать скрипт, чтобы люди могли добавлять сетевой принтер, просто вводя его имя.

REM Adding network printer 

@echo off
:addprinter
set /p printer="Please enter the name of the printer you wish to add: "
echo.
echo Adding %printer%
echo.


REM Add printer
rundll32 printui.dll,PrintUIEntry /in /n\\printserver\%printer%
if %errorlevel% == 1 (
        echo.
        echo Printer not recognized
        echo.
goto :addprinter
)
if %errorlevel% == 0 (
        echo.
        echo Printer added
        echo.
    timeout /t 3 > nul
    goto :default
)


:default

Проблема в том, что проверки уровня ошибки не работают, они всегда возвращают уровень ошибки 0, даже если принтеру не удалось выполнить добавление.

Кто-нибудь может мне помочь?

решение1

Это значит

if %errorlevel% 1 (

вместо

if %errorlevel% == 1 (

Пакетный файл — это не C++ :)

Связанный контент