使用批处理或 vbs 从文本文件中提取行

Extract lines from a text file using batch or vbs

我有一个文本文件,我正在尝试从中提取以“422”开头的行(每个文件有多个)并将所有这些粘贴到一个新的文本文件中。我不太确定在 vbs 或批处理文件中执行此操作是否更好,但两者都可以。提前致谢。

编辑: 抱歉看起来像一个 "do my work for me" 问题;我的代码真的很短而且不是很有效,但我会 post 我目前所拥有的:

cd "~%dp1" findstr /B "422 " testfile.txt >> output.txt

问题是代码没有考虑 422 之后的空格,所以我在输出中得到了额外的值。

由于您的问题闻起来像 "I need a job done" 而不像 "I want to learn (anything at all)",因此请使用合适的工具,例如findstr:

type 31392125.txt
a
422b
c
d
e 422
422f
422 g

findstr /B 422 31392125.txt
422b
422f
422 g

阅读文档 ():

Use spaces to separate multiple search strings unless the argument is prefixed with /C. For example, 'FINDSTR "hello there" x.y' searches for "hello" or "there" in file x.y. 'FINDSTR /C:"hello there" x.y' searches for "hello there" in file x.y.

所以:

findstr /B /C:"422 " 31392125.txt
422 g
FINDSTR /B 422 "fileToSearch" >>"FileToCopyTo"

没有引号,例如

FINDSTR /B 422 C:\Users\John\Documents\filename.txt >>C:\Users\John\Documents\output.txt