0

我正在寻找一种方法来搜索一种文件类型的许多文件以获取大量字符串。

示例:搜索 Doc1.txt、Doc2.txt、Doc3.txt

在驱动器 C 上:

搜索 aaa.rtf、aba.rtf、ccc.rtf

文件中的标准查找在许多文件中查找一个字符串,但不是多个。编辑:这似乎可以通过使用批量查找来实现。

4

1 回答 1

0

要在多个文件中搜索多个字符串,您可以使用EmEditor的文件批量查找功能。去做这个:

  1. 选择搜索字符串列表,以换行符分隔:
aaa.rtf
aba.rtf
ccc.rtf

在 EmEditor 或记事本中,然后将列表复制到剪贴板。这将使以后在文件中的批量查找中​​设置列表变得更加容易。

  1. 在 EmEditor 中,选择搜索菜单上的在文件中查找(或按+ + )。CtrlShiftF

EmEditor - 在文件中查找

  1. 如果出现“在文件中查找”对话框而不是“在文件中批量查找”对话框,请单击“在文件中查找”对话框中的“批处理 >>”按钮。

EmEditor - 在文件中批量查找

  1. 右键单击“在文件中批量查找”对话框右侧的列表,然后选择“粘贴” (或按Ctrl+ V)。这将粘贴您在步骤 1 中复制的搜索字符串列表。

  2. 确保文件类型( *.txt) 和文件夹中( C:\) 正确。

  3. 单击批量查找按钮可查找指定文件夹的指定文件类型中的所有字符串。

如果您想将这些步骤录制为宏,请在执行上述步骤 2 之前,在“”菜单上选择“开始/停止录制” (或按+ + ,或单击工具栏上的“开始录制”按钮)。完成上述步骤后步骤 6,再次选择菜单上的开始/停止录制(或按+ + ,或单击工具栏上的开始录制按钮)。录制宏后,您可以通过在菜单上选择另存为...将其保存为宏文件。你会得到一个类似这样的宏文件:CtrlShiftRCtrlShiftR

batch_list = editor.filters;
batch_list.AddFind("aaa.rtf",eeFindReplaceEscSeq,0);
batch_list.AddFind("aba.rtf",eeFindReplaceEscSeq,0);
batch_list.AddFind("ccc.rtf",eeFindReplaceEscSeq,0);
editor.BatchFindInFiles(batch_list,"C:\\*.txt",0,0,"",0,0);

稍后,您可以在Macros菜单上选择Select...以选择此宏,然后在Macros菜单上选择Run以运行此宏。

于 2020-09-24T22:57:13.743 回答