Board logo

标题: [文本处理] [已解决]批处理for命令如何如何多网卡系统的指定IP地址? [打印本页]

作者: 秋风·飞扬    时间: 2012-4-26 14:04     标题: [已解决]批处理for命令如何如何多网卡系统的指定IP地址?

本帖最后由 秋风·飞扬 于 2012-5-6 11:41 编辑

1、我写了一个for命令是获取IP地址的(网络适配器中有两个是虚拟机的本地连接),因为有了这两个虚拟机的本地连接,所以ipconfg的时候会获取到3个IP地址,但是只会输出第三个即最后一个,我想让它输出第二个,该怎么办?


2、想知道怎么样让delims= 来分隔“空格”
作者: cjiabing    时间: 2012-4-26 15:00

其他的自己揣摩
  1. @echo off
  2. for /f "tokens=2 delims=:" %%a in ('ipconfig^|findstr "[0-9]"') do echo;%%a
  3. pause
复制代码

作者: 秋风·飞扬    时间: 2012-4-26 15:32

恩 谢谢指引!
作者: 秋风·飞扬    时间: 2012-4-26 15:32

回复 3# cjiabing


    谢谢指引~
作者: 秋风·飞扬    时间: 2012-4-28 10:37

今天终于把问题解决了,菜鸟上路问多了别人会烦,所以就只能看大神们的代码,这种低级问题仅仅希望以后的菜鸟能看到并恍然大悟,楼上版主说的findstr 这个我还没深入过,但就我最上面提出的问题来说,用
set /a ip+=1
if "!ip!"=="2" echo FOR循环中第二个赋值的IP 为 %%i  
这两句就简单的搞定了困扰我一周的问题,
看来是我对set 这个命令不熟悉 不知道/a怎么用,看了别人的代码之后照葫芦画瓢才弄出来,
在这里谢谢无名 【淡薄】 【宁静】
我在这里还有个小问题想请教大家,if "!ip!" =="2"  为什么要用引号,我去掉引号也可以成功运行,这是一种书写习惯,还是它有什么特殊的含义,我看见好多人都喜欢这样子写,求指引求解答.......
作者: gawk    时间: 2012-4-28 17:28

回复 6# 秋风·飞扬


一种习惯:
1、可以避免字符串两边多余空格带来的问题
2、可以避免变量内容包含特殊字符时带来的问题
作者: 秋风·飞扬    时间: 2012-4-28 18:10

回复 7# gawk


    这位仁兄,十分感谢!




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