问题描述
我正在寻找一种方法来搜索一种文件类型的许多文件中的大量字符串。
示例: 搜索Doc1.txt,Doc2.txt,Doc3.txt
在驱动器C上:
搜索aaa.rtf,aba.rtf,ccc.rtf
文件中的标准查找在许多文件中查找一个字符串,但不是多个。 编辑:这似乎可以通过使用批处理查找。
解决方法
要在多个文件中搜索多个字符串,可以使用EmEditor的在文件中批量查找功能。为此:
- 选择搜索字符串列表,并用换行符分隔:
aaa.rtf
aba.rtf
ccc.rtf
在EmEditor或记事本中,按,然后将列表复制到剪贴板。这将使以后在批量在文件中查找中的列表更容易。
- 在EmEditor中,在搜索菜单上选择查找文件(或按 Ctrl + Shift + F )。
-
如果出现查找文件对话框而不是查找文件对话框中的
- 单击批处理>> 按钮。 >在文件中批量查找对话框。
-
右键单击批量查找文件对话框右侧的列表,然后选择粘贴(或按 Ctrl + V )。这将粘贴您在步骤1中复制的搜索字符串列表。
-
确保文件类型(
*.txt
)和在文件夹中(C:\
)正确。 -
单击批量查找按钮以查找指定文件夹的指定文件类型中的所有字符串。
如果您想将这些步骤记录为宏,请在宏菜单上选择开始/停止记录(或按 Ctrl + Shift + R ,或单击工具栏上的开始录制按钮),然后执行上述步骤2。完成上述步骤6之后,在 Macros 菜单上选择开始/停止记录(或按 Ctrl + Shift + R ,或再次单击工具栏上的开始录制按钮。录制宏后,可以通过选择宏菜单上的另存为... 将其保存为宏文件。您将获得类似于以下内容的宏文件:
batch_list = editor.filters;
batch_list.AddFind("aaa.rtf",eeFindReplaceEscSeq,0);
batch_list.AddFind("aba.rtf",0);
batch_list.AddFind("ccc.rtf",0);
editor.BatchFindInFiles(batch_list,"C:\\*.txt","",0);
稍后,您可以在宏菜单上选择 Select ... 以选择此宏,然后在上选择 Run >宏菜单即可运行此宏。