BATCH_GREP_INFO¶
用于 Editor_BatchFindInFiles 和 Editor_BatchReplaceInFiles 内联函数 ( EE_FIND_IN_FILESW 和 EE_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 或之后的版本。