[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] [已解决]批处理如何获取命令返回结果中的第一行内容

取IP地址,遇到难题,求帮助。
  1. 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  求大神帮忙。
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

可能dhcp和手动还有区别?

TOP

回复 2# /zhqsystem/zhq


   学习了,多谢指导。

TOP

回复 2# /zhqsystem/zhq


    谢谢大神,试过可以 。太感谢了 。

TOP

方法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"
2

评分人数

这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

返回列表