批处理 IF IP 地址为 192.168.1."" then

Batch IF IP address is 192.168.1."" then

我想创建一个批处理文件来根据用户登录的位置映射驱动器。我创建了一些批处理文件,但它们无法正常工作。用户只能从第一个位置获取映射的驱动器,无论他们在哪里登录。只有带有菜单的批处理文件在工作,我希望它自动更新。这是批处理文件。希望你能帮助我。

@ECHO OFF
ipconfig    | find /i "192.168.1." > NUL
IF ERRORLEVEL == 0 GOTO Server1
ipconfig    | find /i "192.168.2." > NUL
IF ERRORLEVEL == 0 GOTO Server2
ECHO Ip adres conflict
PAUSE
GOTO END
:Server1
net use H: \Server1\Users$\%username%
net use S: \Server1\Folder
GOTO END
:Server2
net use H: \Server2\Users$\%username%
net use S: \Server2\Folder
GOTO END
:END


@ECHO OFF
ipconfig | find /c "192.168.1."> NUL2>NUL
IF ERRORLEVEL==0 GOTO Server1
ipconfig | find /c "192.168.2."> NUL2>NUL
IF ERRORLEVEL==0 GOTO Server2
ECHO Ip adres conflict
PAUSE
GOTO END
:Server1
net use H: \Server1\Users$\%username%
net use S: \Server1\Folder
GOTO END
:zwaluwhoeve
net use H: \Server2\Users$\%username%
net use S: \Server2\Folder
GOTO END
:END

问题是这段代码不起作用。它只从一个位置映射驱动器。希望你能帮助我。 PS:抱歉英语不好。

您无法使用 ERRORLEVEL 访问错误级别,但可以使用 %ERRORLEVEL%!在您的代码中,您将字符串 ERRORLEVEL0 进行比较。这显然总是错误的。添加 % 应该有效。