Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CMD命令,用于在Windows中单独获取IPv4地址_Windows_Unix_Networking_Cmd_Ip - Fatal编程技术网

CMD命令,用于在Windows中单独获取IPv4地址

CMD命令,用于在Windows中单独获取IPv4地址,windows,unix,networking,cmd,ip,Windows,Unix,Networking,Cmd,Ip,“ipconfig”返回所有详细信息。但我只想要ipv4 我也尝试过“ipconfig | find/I”ipv4“| clip”,但它返回“ipv4地址………..:XXX.XXX.X” 我也不想要“IPv4地址……” 我只需要输出“xxx.xxx.x.x”而不需要其他内容 对于Windows,有任何cmd命令吗?您可以试试 for /f "tokens=2 delims=[]" %a in ('ping -n 1 -4 "%computername%"') do @echo %a for/f

“ipconfig”返回所有详细信息。但我只想要ipv4

我也尝试过“ipconfig | find/I”ipv4“| clip”,但它返回“ipv4地址………..:XXX.XXX.X”

我也不想要“IPv4地址……”

我只需要输出“xxx.xxx.x.x”而不需要其他内容

对于Windows,有任何cmd命令吗?

您可以试试

for /f "tokens=2 delims=[]" %a in ('ping -n 1 -4 "%computername%"') do @echo %a
for/f
用于对从磁盘上的文件、命令输出或直接包含的字符串中获取的每一行执行某些代码(在
do
子句之后的代码)

在这种情况下,使用第二个选项。用于/f的
将用于对计算机名运行
ping
命令并处理其输出。在这个
ping
命令的输出中,会有一行内容类似于
ping[xxx.xxx.xxx.xxx]和..
。这是我们希望使用
for
命令处理的行。通常需要某种类型的
find
命令来丢弃其余的行并只保留需要的行,但在这种情况下不需要它

delims
子句表示将使用
[]
作为分隔符拆分行。我们需要行的第二部分,因此使用
tokens=2

for/f
处理
ping
命令的输出时,每一行都会被解析。唯一包含
[]
的行是我们安装的,因此,它是唯一将被拆分的行,也是唯一返回第二个令牌的行(其余行将只输出一个令牌,因为它们未被拆分)。此令牌将存储在可替换参数
%%a的
中,然后回显到控制台。

您可以尝试

for /f "tokens=2 delims=[]" %a in ('ping -n 1 -4 "%computername%"') do @echo %a
for/f
用于对从磁盘上的文件、命令输出或直接包含的字符串中获取的每一行执行某些代码(在
do
子句之后的代码)

在这种情况下,使用第二个选项。用于/f
将用于对计算机名运行
ping
命令并处理其输出。在这个
ping
命令的输出中,会有一行内容类似于
ping[xxx.xxx.xxx.xxx]和..
。这是我们希望使用
for
命令处理的行。通常需要某种类型的
find
命令来丢弃其余的行并只保留需要的行,但在这种情况下不需要它

delims
子句表示将使用
[]
作为分隔符拆分行。我们需要行的第二部分,因此使用
tokens=2


for/f
处理
ping
命令的输出时,每一行都会被解析。唯一包含
[]
的行是我们安装的,因此,它是唯一将被拆分的行,也是唯一返回第二个令牌的行(其余行将只输出一个令牌,因为它们未被拆分)。此令牌将存储在可替换参数
%%a的
中,然后回显到控制台。

接受的答案打印出了适合我的情况的错误IP。我想要一个特定网络适配器的IP,只需要IP,这样我就可以将它传递到一个变量中并使用它

为了实现这一点,我使用了与公认答案类似的方法,但在for循环中使用了netsh命令和findstr:

for /f "tokens=3 delims=: " %i  in ('netsh interface ip show config name^="Ethernet" ^| findstr "IP Address"') do echo Your IP Address is: %i
我将在这篇相关文章中解释它的工作原理:


我希望这能帮助一些人得到他们所需要的。

被接受的答案打印出了适合我情况的错误IP。我想要一个特定网络适配器的IP,只需要IP,这样我就可以将它传递到一个变量中并使用它

为了实现这一点,我使用了与公认答案类似的方法,但在for循环中使用了netsh命令和findstr:

for /f "tokens=3 delims=: " %i  in ('netsh interface ip show config name^="Ethernet" ^| findstr "IP Address"') do echo Your IP Address is: %i
我将在这篇相关文章中解释它的工作原理:


我希望这能帮助一些人得到他们需要的。

非常感谢。。。!!!工作完美。。。!!!你能告诉我这个片段的功能吗?@Arun,回答更新了。解释它的工作原理需要更多的文字,而不是让它工作。非常感谢。。。!!!工作完美。。。!!!你能告诉我这个片段的功能吗?@Arun,回答更新了。解释它的工作原理需要更多的文字,而不是让它工作。