Usando errorlevel em arquivo em lote para adicionar impressora de rede

Usando errorlevel em arquivo em lote para adicionar impressora de rede

Estou tentando escrever um script para que as pessoas possam adicionar uma impressora de rede apenas digitando seu nome.

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

O problema é que as verificações de nível de erro não funcionam, elas sempre retornam o nível de erro 0, mesmo quando a impressora falhou ao adicionar.

Alguém que possa me ajudar aqui?

Responder1

Que significa

if %errorlevel% 1 (

em vez de

if %errorlevel% == 1 (

Um arquivo em lote não é C++ :)

informação relacionada