【发布时间】:2017-06-16 15:59:06
【问题描述】:
我正在尝试使用 FOR 循环隔离文本文件的一部分。
示例:
C:\temp.txt 包含以下几行:
1
2
3
短语 abc
4
5
短语 xyz
6
7
8
9
10
我希望循环在“短语 xyz”之后回显每一行,但我找不到方法。
需要明确的是,我在这个例子中需要的结果是:
6
7
8
9
10
我尝试过这样的事情:
FOR /F "tokens=1,2 delims=phrase xyz" %%A IN (C:\temp.txt) DO ECHO %%B
但似乎不可能使用除一个单词之外的任何其他单词作为“DELIMS”值,而且它也不起作用,因为其他行不包含该短语,所以我对如何解决这个问题感到困惑.
感谢您的宝贵时间!
【问题讨论】:
-
for /F "delims=:" %%a in ('findstr /N /C:"phrase xyz" C:\temp.txt') do more +%%a C:\temp.txt -
效果很好,谢谢,你能解释一下“做更多+%%a”部分吗?我理解 findstr /n 部分,但不是这个。
-
如果您阅读
more /?help screen,您会发现+n选项“开始在第n 行显示第一个文件”而不是在第一行...跨度> -
啊,很好,谢谢!
标签: loops batch-file for-loop search text-files