[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] 批处理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
          请按任意键继续. . .

测试代码之前请做好备份

TOP

回复 2# ShowCode


setlocal enabledelayedexpansion 是什么意思呢 (我是菜鸟,嘻嘻,多多指教)
!errorlevel!和%errorlevel%有什么区别呢

TOP

  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
复制代码
测试代码之前请做好备份

TOP

返回列表