用于在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中,然后回送到控制台。

+0

非常感谢... !!!工作完美... !!! 请问您能否简化这段代码的功能? – Arun 2014-09-27 11:35:13

+0

@阿伦,答案已更新。解释它如何工作需要更多的话,而不是使其工作。 – 2014-09-27 12:36:32

+0

谢谢你...... !!!! – Arun 2014-09-30 04:00:22