Если у меня есть архив, например, some.zip
который содержит один или несколько файлов, как я могу извлечь только один файл (я знаю имя файла) с 7-Zip из командной строки в Windows?
34
В качестве продолжения ответа на surfasb добавьте флаг -r в конце для recurse:
7z e [archive.zip] -o[outputdir] [fileFilter] -r
Поддержка нескольких фильтров:
7z e [archive.zip] -o[outputdir] [fileFilter_1] [fileFilter_2] -r
Пример:
Командная строка нескольких фильтров:
7z e archive.zip -o outputdir *.xml *.dll -r
PS: я использую 7za.exe вместо 7z.exe. Это фактическая команда, которую я использую в моем сценарии:
7za.exe x archive.zip -o outputdir *.xml *.pdb *.exe *.ocx *.dll -r
.XML
и.zip
? Извините, если я угоняю эту тему, я просто не хотел добавлять повторяющийся вопрос.SubArchive.zip
изMainArchive.zip
в вашем случае. Вы можете запускать прослеживание команды для извлеченияMyFile.txt
изSubArchive.zip
после первоначальной экстракции.Вы просто добавляете имя файла в конце.
источник
.XML
и.zip
? Извините, если я угоняю эту тему, я просто не хотел добавлять повторяющийся вопрос.Если вы посмотрите на справочную страницу для 7z, то обнаружите, что следующую команду можно использовать для извлечения файла из архива 7z (хотя на странице справки отсутствует использование пути):
Примеры:
В качестве альтернативы вы можете использовать
e
.Руководство пользователя версии командной строки, кажется, содержит больше информации о фактическом использовании.
источник
Обратите внимание, что он
7z
имеет следующий синтаксис ( обратите внимание на пробелы и кавычки, окружающие"-oMy Folder"
опцию установки имени выходной папки, мне потребовались часы, чтобы понять, как я это делал изначально - неправильный путь: *-o "My Folder"
*):источник