Board logo

标题: [文本处理] for命令语句的skip如何对findstr命令查找的结果跳过/排除输出前几行内容? [打印本页]

作者: wkl17    时间: 2016-8-30 17:29     标题: for命令语句的skip如何对findstr命令查找的结果跳过/排除输出前几行内容?

本帖最后由 pcl_test 于 2016-8-30 19:14 编辑

for /f "skip=2"对 xx |findstr xxx 筛选出来的结果不能跳过2行?难道必须针对文件?

findstr xxx出来的结果是4行,我想跳过前2行,或3行,都试了,但始终无效。难道必须针对具体文件才有效?

有谁注意过这个现象、知道有什么办法可以解决吗?谢谢。
作者: happy886rr    时间: 2016-8-30 17:48

本帖最后由 happy886rr 于 2016-8-30 18:02 编辑

回复 1# wkl17
这种问题易理解吧。
  1. @echo off&for /f "skip=2 delims=" %%a in ('type %~f0^|findstr "."') do (echo %%a)
  2. set/p=
  3. 欢迎来到第三行
复制代码

作者: Batcher    时间: 2016-8-30 18:13

1. xx |findstr xxx 的结果
2. 你希望得到的结果

分别发出来看看
作者: pcl_test    时间: 2016-8-30 19:17

举个栗子
  1. @echo off
  2. for /f "skip=2 delims=" %%a in ('ping 127.1^|findstr /i "ttl="') do echo;%%a
  3. pause
复制代码

作者: wkl17    时间: 2016-8-30 20:21

感谢各位!找到原因了,可能因为我的查询结果有特殊输出, 我在后面加上 2>nul 就OK了..哈哈..




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2