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 或之後的版本。