BATCH_GREP_INFO

用于 Editor_BatchFindInFilesEditor_BatchReplaceInFiles 内联函数 ( EE_FIND_IN_FILESWEE_REPLACE_IN_FILESW 消息) 。

typedef struct _BATCH_GREP_INFO {
	UINT cbSize; // sizeof( BATCH_GREP_INFO )
	UINT nBatchCount;
	UINT64 nBatchFlags;
	UINT64 nTotalCount;
	LPCWSTR pszPath;
	LPCWSTR pszBackupPath;
	LPCWSTR pszFilesToIgnore;
	UINT nCP;
	UINT nLimit;
	HRESULT hr;
} BATCH_GREP_INFO;

字段

cbSize

指定 sizeof( BATCH_GREP_INFO )。

nBatchCount

指定在 lParam 参数中指定的 FIND_REPLACE_INFO 结构的数量。

nBatchFlags

指定一个下列值的组合。

FLAG_FIND_COUNT_FREQUENCY

根据结果创建一个常用字符串表。必须与 FLAG_FIND_EXTRACT 和 FLAG_FIND_OUTPUT_DISPLAY 合用。

FLAG_FIND_IGNORE_FILES

I忽略由 pszFilesToIgnore 指定的文件或文件夹。

FLAG_FIND_RECURSIVE

在指定路径的子文件夹中搜索。

FLAG_FIND_REGEX_BOOST

使用 Boost.Regex 作为正则表达式引擎。

FLAG_FIND_REGEX_ONIGMO

使用 Onigmo 作为正则表达式引擎,Ruby 语法。

FLAG_FIND_REGEX_ONIGMO_PERL

使用 Onigmo 作为正则表达式引擎,Perl 语法。

FLAG_FIND_OPEN_DIRECT

直接打开包含指定字符串的文档。不能与 FLAG_FIND_OPEN_FILTER 或 FLAG_FIND_OUTPUT 合用。

FLAG_FIND_OPEN_FILTER

直接打开包含指定字符串的文档,并将指定字符串设为筛选。不能与 FLAG_FIND_OPEN_DIRECT 或 FLAG_FIND_OUTPUT 合用。

FLAG_FIND_OUTPUT

在输出栏中以列表形式显示“在文件中查找”结果。不能与 FLAG_FIND_OPEN_DIRECT 或 FLAG_FIND_OPEN_FILTER 合用。

FLAG_FIND_OUTPUT_ENCODING

将编码名称附加到文件名。

FLAG_FIND_SEPARATE_CRLF

区别处理 CR 和 LF。

FLAG_REPLACE_BACKUP

保存备份。不能与 FLAG_REPLACE_KEEP_OPEN 合用。

FLAG_REPLACE_KEEP_OPEN

保持修改的文件为打开状态。不能与 FLAG_REPLACE_BACKUP 合用。

此外,您可以指定以下值之一。

FLAG_FIND_FILE_AND_MATCHED

搜索结果将显示文件名和匹配的字符串。

FLAG_FIND_FILE_LINE_AND_MATCHED

搜索结果将显示文件名,行号和匹配的字符串。

FLAG_FIND_FILENAMES_ONLY

搜索结果仅显示文件名,而包含搜索字符串的整行将不显示为结果。

FLAG_FIND_LINE_ONLY

搜索结果仅显示包含搜索字符串的整行。

FLAG_FIND_MATCHED_ONLY

搜索结果仅显示匹配的字符串。

nTotalCount

返回时,此字段将接收所有搜索的文件中匹配字符串出现的总数。如果不用于替换文件,则返回值为所有搜索的文件中包含匹配字符串的行总数。

pszFind

指定要搜索的字符串。

pszReplace

在文件中替换时,指定要替换的字符串。

pszPath

指定要搜索的路径。它可以包括通配符,例如 \* 和 ?。

pszBackupPath

当在文件中替换时,指定备份文件夹,如果 nFlags 包括 FLAG_REPLACE_BACKUP。

pszFilesToIgnore

如果 nFlags 包括 FLAG_FIND_IGNORE_FILES,则指定要忽略的文件或文件夹名称。它可以包括通配符,例如 * 和 ?。要指定多个文件,用分号 (;) 来隔开文件。

nCP

指定用于打开文件的代码页。

CODEPAGE_ANSI

标准 ANSI

CODEPAGE_UNICODE

Unicode little endian

CODEPAGE_UNICODE_BIGENDIAN

Unicode big endian

CODEPAGE_UTF8

UTF-8

CODEPAGE_UTF7

UTF-7

CODEPAGE_932

日文 Shift JIS

CODEPAGE_JIS

日文 JIS

CODEPAGE_EUC

日文 EUC

CODEPAGE_AUTO_SJIS_JIS

从日文 Shift JIS 和 JIS 转换。

CODEPAGE_AUTO_SJIS_JIS_EUC

从日文 Shift JIS、JIS、EUC 转换。

Others

你能通过系统使用的所有代码页。

CODEPAGE_DETECT_UNICODE

检测 Unicode。能与另一个值进行组合。

CODEPAGE_DETECT_UTF8

检测 UTF-8。能与另一个值进行组合。

CODEPAGE_DETECT_CHARSET

检测 HTML/XML Charset。能与另一个值进行组合。

CODEPAGE_DETECT_ALL

检测所有代码页。能与另一个值进行组合。

nLimit

当匹配数达到此数字时,EmEditor 将停止搜索文件。 如果指定 0,则 EmEditor 不会停止搜索文件。

hr

此字段将由结果值填充,其中负值表示错误。错误值包括以下值。

E_WRONG_NUM_FORMAT

检测到数字/IP 地址范围的格式不正确。

E_REGEX_UNKNOWN

正则表达式引擎中发生未知错误。

版本

支持 EmEditor Professional 20.0 或之后的版本。