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

[文本处理] for /f语句中如何准确获得想要的行

一个文本中可能有很多行(K行)
但是我只想提取其中第N行(0<N<K)
用skip只能跳过开头的行
如何能省略N+1到K行的内容呢??

感谢各位的回复
但是我还是有些想不明白
比如说
  1. @echo off
  2. @ping -n 1 -r 9 www.baidu.com >temp.txt
  3. for /f "skip=3 tokens=2 delims=:-" %%a in (temp.txt) do echo %%a
  4. pause
  5. del temp.txt
复制代码
想法就是想得到外网的IP地址
(很白痴 别笑话我 哈哈)
但是我无法略过后面的一些行
虽然IP能显示出来
我现在想把变量b赋值成第一行的IP地址
怎么能做到呢?
跳出?
我尝试过在DO后面加上通配符 但是不行
怎么能在DO后面判断现在的%%a是我想要的字符串呢?

TOP

原帖由 yslyxqysl 于 2008-12-28 13:09 发表
@for /f "tokens=1,* delims=:-" %%a in ('ping -n 1 -r 9 www.baidu.com^|findstr /n "."^|findstr "^4:"') do @echo %%b



这个的确可行 先说谢谢 呵呵
但是能否为我解答一下什么是
findstr /n
还有4:是什么
还有为啥变量到后来是%%b而不是%%a

问题很多 不好意思

TOP

返回列表