标题: [系统相关] [已解决]批处理如何获取命令返回结果中的第一行内容 [打印本页]
作者: Speed乄Jay 时间: 2017-12-16 15:18 标题: [已解决]批处理如何获取命令返回结果中的第一行内容
取IP地址,遇到难题,求帮助。- for /f "tokens=4" %%f in ('route print^|findstr 0.0.0.0.*0.0.0.0')do (set IP=%%f)
复制代码
我想取第一行0.0.0.0的 IP,但是WIN7 route print 后 有两条0.0.0.0 最后echo %IP% 的结果是 网关的地址 。
有没有办法只取第一行的0.0.0.0 求大神帮忙。
作者: /zhqsystem/zhq 时间: 2017-12-16 17:19
方法1:标签循环有效,无标签会终止代码注意
call:1
echo,%ip%
pause
:1
for /f "tokens=4" %%f in ('route print^|findstr 0.0.0.0.*0.0.0.0')do set IP=%%f&&goto:eof
goto:eof
方法2:可以连续执行
set "ip="
for /f "tokens=4" %%f in ('route print^|findstr 0.0.0.0.*0.0.0.0')do if not defined ip set IP=%%f
避开FIND搜索
set "ip="
for /f "tokens=1,2,3,4,*" %%f in ('route print')do if /i "%%f"=="0.0.0.0" if not defined ip set "ip=%%i"&&set "网关=%%h"&&set "跃点=%%j"
作者: Speed乄Jay 时间: 2017-12-18 16:58
回复 2# /zhqsystem/zhq
谢谢大神,试过可以 。太感谢了 。
作者: Speed乄Jay 时间: 2017-12-18 17:34
回复 2# /zhqsystem/zhq
学习了,多谢指导。
作者: 窄口牛 时间: 2018-6-6 16:23
可能dhcp和手动还有区别?
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |