Board logo

标题: [网络连接] [已解决]批处理for命令获取IP地址为何出错? [打印本页]

作者: xx_zxb    时间: 2013-1-29 09:58     标题: [已解决]批处理for命令获取IP地址为何出错?

本帖最后由 xx_zxb 于 2013-1-29 10:57 编辑
  1. ipconfig |find /i "ip address"
复制代码
这样就可以查找出IP
  1. for %%a in ('ipconfig |find /i "ip address"')
复制代码
用for 怎么调不出来 ? 哪里写错了?
还有就是第一段命令运行后的结果是
        IP Address. . . . . . . . . . . . : 192.168.1.186

怎么样才能让他只出现 192.168.186呢?
新手  查了半天没查出问题出现哪里,求老鸟解惑
作者: yu2n    时间: 2013-1-29 10:09

本帖最后由 yu2n 于 2013-1-29 10:10 编辑

百度一下,你就知道。不会用搜索?

参考:
  1. for /f "tokens=2 delims=:" %%i in ('ipconfig^|findstr "IP Address"') do (set ip=%%i)
  2. set ip=%ip:~1,16%
  3. echo 本机IP地址:%ip%
复制代码
http://tieba.baidu.com/p/1291018659
苏维埃与尤里
Taskkill
9
引用 cyxgg (2楼)

其实很简单,一句for就ok,不用那么多
for /f "tokens=2 delims=:" %%i in ('ipconfig^|findstr "IP Address"') do set ip=%%i
注:
如果是在CMD下运行的话,请把%%i替换为%i;
如果使用的是Vista/Win7的话,请把“findstr "IP Address"”替换为“findstr "IPv4地址"”。

作者: xx_zxb    时间: 2013-1-29 10:18

回复 2# yu2n


    我百度了   没明白怎么回事。。。
  1. for /f "tokens=15" %%a in ('ipconfig ^|find /i "ip address"') do echo %%a
复制代码
这段代码能实现     就是不知道tokens=15  这个15 是怎么计算出来的
作者: yu2n    时间: 2013-1-29 10:30

回复 3# xx_zxb


    for 中,tokens的默认delims 是空格,你数就知道
  1.         IP Address. . . . . . . . . . . . : 10.0.0.101
  2. ~~~       ~        ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
  3. (1)      (2)             ...              (15)
复制代码

作者: xx_zxb    时间: 2013-1-29 10:31

回复 2# yu2n
  1. @echo off
  2. for /f "tokens=2 delims=:" %%a in ('ipconfig ^|find /i "ip address"') do echo 本机IP地址:%%a
  3. pause
复制代码

作者: BAT-VBS    时间: 2013-1-29 10:43

http://www.bathome.net/viewthread.php?tid=1290&page=2#pid6306
作者: xx_zxb    时间: 2013-1-29 10:56

回复 6# BAT-VBS


    谢谢  收货很大




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