Board logo

标题: [系统相关] 批处理for循环连接ipc时失败,返回值为什么是零? [打印本页]

作者: yeyuexiaofeng    时间: 2017-6-13 17:58     标题: 批处理for循环连接ipc时失败,返回值为什么是零?

问题:为什么用for循环进行连接时,不管每一次连接是否成立,每一次返回值都是0
1.用net use \\192.168.174.128\ipc$ qwertyuiop /user:administrator测试返回值(正确密码)

屏幕显示:命令成功完成。

            返回值为:0
            请按任意键继续. . .

2.用net use \\192.168.174.128\ipc$ 123 /user:administrator测试返回值(错误密码)
  
屏幕显示:发生系统错误 1326。

            登录失败: 未知的用户名或错误密码。

            返回值为:2
            请按任意键继续. . .

3.用for循环来测试:
for /f %%i in (c:\dict1.txt) do (net use \\192.168.174.128\ipc$ %%i /user:administrator
echo 返回值为:%errorlevel%(文本第一个密码错误,暂停,输出返回码)
  
屏幕显示:发生系统错误 1326。

            登录失败: 未知的用户名或错误密码。

            返回值为:0

for /f %%i in (c:\dict2.txt) do (net use \\192.168.174.128\ipc$ %%i /user:administrator
echo 返回值为:%errorlevel%(文本第一个密码正确)

屏幕显示:命令成功完成。

          返回值为:0
          请按任意键继续. . .
作者: ShowCode    时间: 2017-6-14 09:19

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f %%i in (c:\dict1.txt) do (
  4.     net use \\192.168.174.128\ipc$ %%i /user:administrator
  5.     echo 返回值为:!errorlevel!
  6. )
  7. pause
复制代码

作者: yeyuexiaofeng    时间: 2017-6-14 16:41

回复 2# ShowCode


setlocal enabledelayedexpansion 是什么意思呢 (我是菜鸟,嘻嘻,多多指教)
!errorlevel!和%errorlevel%有什么区别呢
作者: ShowCode    时间: 2017-6-14 23:23

回复 3# yeyuexiaofeng


http://bbs.bathome.net/thread-2899-1-1.html




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2