永发信息网

怎样用批处理读取当前IP

答案:4  悬赏:0  手机版
解决时间 2021-02-05 23:07
  • 提问者网友:我们很暧昧
  • 2021-02-05 13:14
上网查查,看到了这样一段
for /f "tokens=15" %%i in ('ipconfig /all ^| find /i "ip address"') do set ip=%%i

请高手来详解一下这段具体是什么意思

我想写一个脚本读取本机的网络IP 网关 子网掩码 NDS,然后显示出来 怎么办啊?
最佳答案
  • 五星知识达人网友:狂恋
  • 2021-02-05 13:41
你打开一个cmd
输入ipconfig /all | find /i "IP address"
你会发现有两行东西显示出来
这两行作为文本文件被传送给for程序体分析
tokens=15表示从这个文本文件的第15个参数开始读取
默认的分隔符是空格
第15个就是显示出来的IP
有几个网络连接就有几个ip
关于你那个批处理,楼上有代码
全部回答
  • 1楼网友:詩光轨車
  • 2021-02-05 16:42
新建文本文档 输入 @echo ipconfig/all pause exit 然后保存,并将文件后缀名改为bat
  • 2楼网友:第幾種人
  • 2021-02-05 15:12

批处理内容如下: netsh interface ip set address name="本地连接" source=static 192.168.1.188 255.255.255.0 192.168.0.1 1 netsh interface ip set dns "本地连接" static 61.128.128.68  primary netsh interface ip add dns "本地连接"  61.128.192.68 第一行中“netsh interface ip set address”表示设置ip地址,name="本地连接"表示设置哪块网卡的地址,在网络连接中可以看到名称,一般中文版操作系统为“本地连接”或“本地连接2”等,“source=static”表示设置静太ip,如果source=dhcp表示自动获取ip。当source=static时,后面要设置ip地址,子网掩码,网关,跃点数(一般设1),中间用空格分开,即批处理中的“192.168.1.188 255.255.255.0 192.168.0.1 1”。为使程序更加清晰,你也可以这样写“addr=192.168.1.188 mask=255.255.255.0 gateway=192.168.0.1 gwmetric=1”,效果一样。 第二行设置主要dns(域名服务器),static表示静太ip,primary表示主域名服务器。 第三行设置次要dns,“netsh interface ip add dns”表示添加。add 与set有区别,set会覆盖以前的设置,而add是添加一个设置,不会删除以前的设置。

  • 3楼网友:拜訪者
  • 2021-02-05 14:10
for /f "tokens=15" %%i in ('ipconfig /all ^| find /i "ip address"') do set ip=%%i 其中提取IP的关键代码是 ipconfig /all | find /i "ip address" 通过 ipconfig /all 显示本机当前网络配置情况,将结果通过管道符"|"传送给查询命令 find 去搜索包含指定字符串“ip address”的数据行,/i 代表不分大小写 @echo off for /f "tokens=15" %%i in ('ipconfig /all ^| find /i "IP Address"') do set ip=%%i for /f "tokens=15" %%i in ('ipconfig /all ^| find /i "Subnet Mask"') do set mask=%%i for /f "tokens=15" %%i in ('ipconfig /all ^| find /i "DNS Servers"') do set dns=%%i echo 本机IP为:%ip% echo 本机子网掩码为:%mask% echo 本机DNS为:%dns% pause
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯