如何提取PC的IP(仅Wifi适配器)并通过批处理文件将其设置为变量?

时间:2018-10-25 16:25:52

标签: batch-file batch-processing

我目前有这行简单代码,以便在控制台中写入IP

for /f "tokens=14 skip=34 delims= " %%a in ('ipconfig') do (echo %%a)

但是,当我尝试将此信息输入文件时,它将仅显示命令中显示的最后一个字符,即“:”,但是我只需要将第一行提取到文本文件{{ 1}},所以我稍后通过

将其保存到变量中
%temp%\Test.txt

尝试过Type,但是没有用,我目前处于代码屏蔽状态,有什么想法吗?

1 个答案:

答案 0 :(得分:0)

解决方案不是我的,而是名为Fabio Iotti的博客。对他表示敬意。

for /f "delims=[] tokens=2" %%a in ('ping -4 -n 1 %ComputerName% ^| findstr [') do set NetworkIP=%%a
echo Your IPv4 is: %NetworkIP%

我喜欢该解决方案的原因是,它是一种聪明的获取方式,它会输出一个干净的IP变量,因此您不必担心会截断字符串。

我们来看一下。

运行ping时,它将在方括号之间显示IP。 使用%ComputerName% ping您自己的计算机将强制该命令显示您自己的IP。

最后,findstr允许使用通配符的宽选项使我们能够在方括号之间收集信息(还记得[')吗?),从而产生一个干净的变量,该变量只会显示您的IP。

但是,如果您通过WiFi / LAN / USB /蜂窝或任何其他互联网功能进行连接,我不确定这将如何工作; Windows如何通过几种连接方法处理IPv4?我相信这不会有问题,但是我想检查一下。