Board logo

标题: [网络连接] 【已解决】net use 发生错误后根据错误代码跳转 [打印本页]

作者: SeanJuicer    时间: 2024-2-28 13:50     标题: 【已解决】net use 发生错误后根据错误代码跳转

本帖最后由 SeanJuicer 于 2024-2-28 16:42 编辑
  1. net use //192.168.1.100 /user:1 2 >nul 2>&1
复制代码
这段代码,如果密码错误会输出:
  1. 发生系统错误 86
  2. 指定的网络密码不正确。
复制代码
用for去循环命令,获取不到“发生系统错误 86”这一行


%ERRORLEVEL%只能获取到0或者2

如何根据错误代码,比如86 1219等 跳转goto 到A B C位置呢?

感谢!
作者: czjt1234    时间: 2024-2-28 14:27

本帖最后由 czjt1234 于 2024-2-28 14:32 编辑
  1. for /f "delims=" %%i in ('net use \\192.168.0.7 /user:admin 1234567 2^>^&1') do @echo %%i
复制代码

作者: SeanJuicer    时间: 2024-2-28 15:39

czjt1234 发表于 2024-2-28 14:27



   谢谢,可以实现,但是设置成变量或打印出来就不行了
  1. echo %%i>temp.txt
复制代码
这样出来的文本就是
  1. 指定的网络密码不正确。
复制代码
那个错误代码那一行就没有了
作者: czjt1234    时间: 2024-2-28 15:57

本帖最后由 czjt1234 于 2024-2-28 15:58 编辑
  1. @echo off
  2. (
  3. for /f "delims=" %%i in ('net use \\192.168.0.7 /user:admin 1234567 2^>^&1') do echo %%i
  4. )>tmp.txt
复制代码

作者: czjt1234    时间: 2024-2-28 16:03

本帖最后由 czjt1234 于 2024-2-28 16:13 编辑
  1. @echo off
  2. net use \\192.168.0.7 /user:admin 1234567 >tmp1.txt 2>tmp2.txt
复制代码

  1. @echo off
  2. for /f "tokens=2 delims=。 " %%i in ('net use \\192.168.0.7 /user:admin 1234567 2^>^&1 ^| findstr [0123456789]') do (
  3.     echo %%i
  4. )
  5. pause
复制代码

作者: ppll2030    时间: 2024-2-28 16:16

回复 3# SeanJuicer
要完整的输出,就是用 ">>" 这个追加符号。
如要使用 “>” 符号,就要把前面的命令用( )包围起来。
作者: SeanJuicer    时间: 2024-2-28 16:41

回复 6# ppll2030


    感谢
作者: SeanJuicer    时间: 2024-2-28 16:42

czjt1234 发表于 2024-2-28 16:03



    第二个达成了我想要的,很精简,非常感谢!




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