用于搜索字符串和返回行的批处理文件

时间:2014-05-21 15:44:12

标签: batch-file

我知道非常基本的(Windows)批处理脚本,这是我的联盟 - 希望我能在这里得到一些帮助。

我在文件夹中有多个具有相同文件名的文本文件,命名约定为yyyy-mm(例如C:\ folder \ yyyy-mm \ file.txt)

我想写一个脚本进入所有file.txt,在行的开头搜索文件中的唯一ID(可能会或可能不会在不同月份重复),返回/追加文件夹在搜索到新文本文件的整行前面的名称(yyyy-mm),然后继续下个月。

  

C:\ folder \ 2014-05 \ file.txt包含“ID123 foo bar”行以及其他行

     

C:\ folder \ 2014-05 \ file.txt包含“ID123 bar foo”行以及其他行

     

ID123上的搜索输出文件将是

     

2014-04 ID123 foo bar

     

2014-05 ID123 bar foo

使用其他语言会更简单吗?我熟悉Excel VBA,但VB中的filesystemobjects并不是很熟悉。

没有其他子文件夹需要关注,所以我不担心识别正确的子文件夹,只是循环遍历所有子文件夹。

谢谢。

2 个答案:

答案 0 :(得分:2)

这应该会给你类似你所要求的东西。

findstr /s /b "ID123" file.txt 

虽然文件夹在每个file.txt

中查找和搜索,但它会递归

答案 1 :(得分:1)

看看这里..

http://ss64.com/nt/find.html

在Windows查找中使用/ N.

例如:

FIND /N "Jones" names.txt