用于在Windows中单独获取IPv4地址的CMD命令
问题描述:
“ipconfig”返回所有详细信息。但我只想要ipv4。用于在Windows中单独获取IPv4地址的CMD命令
我已经试过 “IPCONFIG |找到/我的 ”IPv4“ |夹” 很好,但它返回 “IPv4地址:XXX.XXX.XX。。。。。。。。。”
我不要“IPv4地址......”:“。
我希望输出 “xxx.xxx.x.x” 没有别的
是否有任何CMD命令的Windows?
答
可以尝试
for /f "tokens=2 delims=[]" %a in ('ping -n 1 -4 "%computername%"') do @echo %a
for /f
用于为每个从所获得的线的执行一些代码(do
子句后的代码):在磁盘上或将文件或一个命令的输出直接包括字符串。
在这种情况下,使用第二个选项。 A for /f
将用于针对计算机名称运行ping
命令并处理其输出。在这个ping
命令的输出内部,会有一行像Pinging [xxx.xxx.xxx.xxx] with ....
这样的行。这是我们要用for
命令处理的行。通常需要使用某种find
命令来丢弃其余的行,并只保留neede行,但在这种情况下,它不会被需要。
delims
子句表示[]
将用作分隔符来分割行。我们需要该行的第二部分,因此使用tokens=2
。
当for /f
处理ping
命令的输出时,每行都被解析。唯一包含[]
的行是我们所感兴趣的行,因此,它是唯一将被分割的行,并且是唯一一个返回第二个标记的行(其余行只会输出一个标记,因为它们没有分割)。该令牌将存储在for
可替换参数%%a
中,然后回送到控制台。
非常感谢... !!!工作完美... !!! 请问您能否简化这段代码的功能? – Arun 2014-09-27 11:35:13
@阿伦,答案已更新。解释它如何工作需要更多的话,而不是使其工作。 – 2014-09-27 12:36:32
谢谢你...... !!!! – Arun 2014-09-30 04:00:22