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

[网络连接] 批处理怎样获取本地IP地址并赋值?

  1. for  /f "tokens=14 delims=: " %%i in ('ipconfig') do if %%i neq . echo %%i >>a.txt
  2. set /p IPAddress=<a.txt
复制代码

这是我自己写的 不过要导出文件 感觉很麻烦

lz的代码似乎每次都是获取的subnet mask而非ip地址,故略作了修改.
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=: tokens=2" %%a in ('ipconfig ^| find /i "IP Address"') do (
  3.      set "temp=%%~a"
  4.      set "ip_addr=!temp: =!
  5. )
  6. echo %ip_addr%
  7. pause
复制代码

TOP

回复 2楼 的帖子

感谢你的回复。我写的代码在本机是执行通过的,导出到a.txt的信息的第一行是ip地址 第二行是子网掩码,赋值的时候只把ip给赋值了。
对于你的代码,应该是只针对ipv4有效果的。对于ipv6运行可能会出错。刚才执行的结果是显示了ipv6地址的一部分

TOP

参考二楼的 我又修改了一下
  1. @echo off
  2. @color 4e
  3. mode con: cols=82  lines=24
  4. echo 获取本机IP 并赋值给IPAddress
  5. echo.
  6. echo 正在执行...请稍候
  7. setlocal EnableDelayedExpansion
  8. if exist a.txt del a.txt
  9. :start
  10. for /f  "delims=*" %%i in ('ipconfig ^| find "IP Address"') do (set fir=%%i
  11. echo !fir:~44!>>a.txt
  12. )
  13. set /p IPAddress=<a.txt
  14. echo IPAddress=====%IPAddress%
  15. del a.txt
  16. pause
复制代码
但是还是导出文件了 。。。。

TOP

这样吧,lz你把ipconfig | find "IP Address"的返回结果保存在文本文档里发上来我帮你看看?

TOP

回复 5楼 的帖子

  1.         IP Address. . . . . . . . . . . . : 222.25.142.37
  2.         IP Address. . . . . . . . . . . . : 2001:250:1006:6142:91d:3862:dea4:3fd4
  3.         IP Address. . . . . . . . . . . . : 2001:250:1006:6142:223:8bff:fe62:ecf1
  4.         IP Address. . . . . . . . . . . . : fe80::223:8bff:fe62:ecf1%4
  5.         IP Address. . . . . . . . . . . . : fe80::ffff:ffff:fffd%5
  6.         IP Address. . . . . . . . . . . . : fe80::5efe:222.25.142.37%2
复制代码

[ 本帖最后由 robinsnelson 于 2010-11-23 11:31 编辑 ]

TOP

额,比我所想的要多一点,你是不是用了-all这个参数了?
不是太清楚应该返回的是哪个地址,最后的那个?

TOP

返回列表