找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 28768|回复: 4

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

[复制链接]
发表于 2017-12-16 15:18:37 | 显示全部楼层 |阅读模式
取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  求大神帮忙。

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2017-12-16 17:19:53 | 显示全部楼层
方法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技术 +2 收起 理由
Speed乄Jay + 1 乐于助人
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2017-12-18 16:58:54 | 显示全部楼层
回复 2# /zhqsystem/zhq


    谢谢大神,试过可以 。太感谢了 。
 楼主| 发表于 2017-12-18 17:34:17 | 显示全部楼层
回复 2# /zhqsystem/zhq


   学习了,多谢指导。
发表于 2018-6-6 16:23:05 | 显示全部楼层
可能dhcp和手动还有区别?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 03:28 , Processed in 0.034013 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表