Board logo

标题: [网络连接] [已解决]下面2个通过批处理获取ip地址的方法,功能上有什么区别? [打印本页]

作者: ygqiang    时间: 2011-12-29 17:05     标题: [已解决]下面2个通过批处理获取ip地址的方法,功能上有什么区别?

本帖最后由 ygqiang 于 2011-12-29 17:37 编辑
  1. @echo off &setlocal enabledelayedexpansion
  2. Rem '/*========获取本机的IP地址(局域网)=========*/
  3. echo 正在获取本机的IP地址,请稍等...
  4. for /f "tokens=3 skip=2 delims=: " %%i in ('nbtstat -n') do (
  5. set "IP_addr=%%i"
  6. set IP_addr=!IP_addr:~1,-1!
  7. echo !IP_addr!
  8. pause
  9. goto :next
  10. )
  11. :next
  12. for /f "tokens=2 delims=:" %%b in ('ipconfig^|find /i "ip"') do set fsip=%%b
  13. echo %fsip%
  14. Set fsip=%fsip: =%
  15. echo 去掉ip前面的空格
  16. echo %fsip%
  17. pause
  18. exit
复制代码
这2个获取ip的批处理,都有什么优缺点(或者说都有什么特殊的要求)?

在xp系统下,哪个通用性比较强?
作者: ygqiang    时间: 2011-12-29 17:20

本帖最后由 ygqiang 于 2011-12-29 17:24 编辑
  1. for /f "tokens=14 delims=: " %%b in ('ipconfig^|find /i "ip"') do set fsip=%%b
  2. echo %fsip%
  3. pause
复制代码
这个获取ip的代码,更简单。而且获取到的ip前面直接就去掉了空格。

不知道这种获取方法,是不是对于所有版本的xp系统,都通用呢?
作者: awk    时间: 2011-12-29 17:29

回复 2# ygqiang


就用这个吧,挺好的。
作者: ygqiang    时间: 2011-12-29 17:38

嗯,感谢楼上。
作者: ygqiang    时间: 2011-12-29 17:43

本帖最后由 ygqiang 于 2011-12-29 23:23 编辑
  1. rem 获取本机ip
  2. for /f "tokens=15 delims= " %%i in ('ipconfig ^| find /i "IP Address"') do (
  3.     set fsip=%%i
  4. )
  5. echo %fsip%
  6. pause
  7. rem 获取本机ip
  8. for /f "tokens=14 delims=: " %%b in ('ipconfig^|find /i "ip"') do set fsip=%%b
  9. echo %fsip%
  10. pause
复制代码
上面2个代码,都能获取到本机ip,在xp系统下运行,会有什么区别呢?
作者: awk    时间: 2011-12-29 19:27

回复 5# ygqiang


既然你自己都说了,都能获取到本机ip,那就是没有区别。




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