批量IF IP地址为192.168.1。""然后

时间:2015-04-08 12:17:36

标签: windows batch-file ip

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

@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:抱歉英语不好。

1 个答案:

答案 0 :(得分:0)

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