_Zip_SearchInFile
Поиск строки в содержимом файлов ZIP-архива
#Include <_Zip.au3>
_Zip_SearchInFile($sZipFile, $sSearchString)
Параметры
$sZipFile | Полный путь к ZIP-файлу |
$sSearchString |
Строка поиска |
Возвращаемое значение
Успех: | Возвращает массив путей с частичным совпадением в именах файлов, array[0] содержит количество найденных файлов |
Ошибка: | Возвращает 0 и устанавливает @error |
@error: | 1 - Отсутствует zipfldr.dll |
2 - Библиотека не установлена | |
3 - Путь к ZIP-файлу $sZipFile не является полный путь | |
4 - Файл $sZipFile не является с расширением ZIP | |
5 - Не удалось создать временный каталог | |
6 - Не удалось извлечь ZIP-архив во временный каталог | |
7 - Не найдено ни одного совпадения |
Примечания
Функция автоматически извлекает архив во временную папку, производит поиск в файлах и удаляет временную папку по завершению поиска.Пример
; wraithdu
; http://www.autoitscript.com/forum/topic/116565-zip-udf-zipfldrdll-library/
#include <_Zip.au3>
#include <Array.au3>
$sZipFile = FileOpenDialog("Выберите архив", "", "Архивы ZIP (*.zip)", 3)
If @error Then Exit
$aRes = _Zip_SearchInFile($sZipFile, 'искомый текст') ; текст, содержащийся в файлах архива
If @error Then
MsgBox(64, "_Zip_SearchInFile", "Ошибка @error = " & @error)
Else
_ArrayDisplay($aRes, 'Список файлов, в которых найден текст')
EndIf