我目前有这行简单代码,以便在控制台中写入IP
for /f "tokens=14 skip=34 delims= " %%a in ('ipconfig') do (echo %%a)
但是,当我尝试将此信息输入文件时,它将仅显示命令中显示的最后一个字符,即“:”,但是我只需要将第一行提取到文本文件{{ 1}},所以我稍后通过
将其保存到变量中%temp%\Test.txt
尝试过Type,但是没有用,我目前处于代码屏蔽状态,有什么想法吗?
答案 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?我相信这不会有问题,但是我想检查一下。