Windows7 Batch,首先For循环后如何破解

时间:2016-04-16 16:18:51

标签: windows batch-file command-line terminal

我正在编写一个简单的脚本来检索以IP格式提供的本地主机地址。

要获取我的IPv4地址(Win7)我已经编写了简单的FOR循环,但结果我从最后一个循环而不是第一个获取IP

以下是批次代码:

cls
for /f "tokens=1-2 delims=:" %%a in ('ipconfig^|find "IPv4"') do (
  set ip=%%b
)
set ip=%ip:~1%
echo %ip%

返回:

(set ip= 192.168.1.101 )
(set ip= 192.168.88.1 )
(set ip= 192.168.137.1 )
set ip=192.168.137.1
echo 192.168.137.1
192.168.137.1

我需要的是第一次循环的结果:

192.168.1.101

2 个答案:

答案 0 :(得分:1)

那么没有任何循环的代码呢?

@Echo off
For /f "tokens=2 delims= " %%a in ('arp -a ^|findstr /i "Interface"') do (set IP=%%a)
Echo The IP adress is : %IP%
pause

答案 1 :(得分:1)

还使用@aschipfl :SKIP解决方案

进行编码
for /f "tokens=1-2 delims=:" %%a in ('ipconfig^|find "IPv4"') do (
  set ip=%%b
  goto :SKIP
)
:SKIP
set ip=%ip:~1%
echo %ip%