У меня есть сценарий powershell 4.0, который выполняет различные функции для организации больших zip-файлов во внутренней сети.Это все работает нормально, но я хочу сделать несколько улучшений.Одна вещь, которую я хочу сделать, это извлечь некоторые детали, которые находятся внутри XML-файла внутри ZIP-файлов.
Я проверил это на некоторых небольших ZIP-файлах, извлекая только тот XML, который работал нормально.Я нацеливаюсь на конкретный файл, потому что zip может содержать тысячи файлов, которые могут быть довольно большими.Это отлично работало с моими тестовыми файлами, но когда я расширил тестирование, я понял, что это не особенно оптимально, потому что XML-файлы, которые я читаю, сами могут стать довольно большими (один был ~ 5 ГБ, но потенциально они могут быть больше).Поэтому добавление шага извлечения файла в цепочку создает неприемлемую задержку для процесса, и мне нужно найти альтернативу.
В идеале я бы мог прочитать 3-5 значений из файла XML изнутриZIP без распаковки.Значения всегда относительно ранние в файле, поэтому, возможно, можно просто извлечь первые ~ 100 КБ файла, и я мог бы обработать извлечение как текстовый файл и найти требуемые значения?
Возможно ли это/ более производительный, чем просто распаковка всего файла?
Если я не смогу ускорить процесс, мне придется взглянуть по-другому.У меня есть ограниченный контроль над содержимым файла, поэтому я могу рассмотреть возможность разделения этих деталей на отдельный файл меньшего размера при создании ZIP.Это будет последнее средство, хотя.