Заставить 7-Zip извлечь архив прямо в каталог

Заставить 7-Zip извлечь архив прямо в каталог

Всякий раз, когда я извлекаю архив с помощью 7-Zip, он выполняет двухэтапную операцию. Сначала он извлекает содержимое архивов во временную папку, затем Windows копирует файлы из временной папки в целевой каталог.

Вторая часть этой операции может занять некоторое время, особенно если в архиве было большое количество маленьких файлов. Кажется, что операцию можно было бы ускорить, если бы 7-Zip просто извлекал файлы непосредственно в целевой каталог для начала. Есть ли способ заставить его сделать это?

решение1

Ого! Мне действительно стоило поискать ответ получше.

Из7-Zip часто задаваемые вопросы:

Почему при извлечении архива методом перетаскивания из 7-Zip в Explorer используются временные файлы?

7-Zip не знает путь к папке назначения перетаскивания. Только Windows Explorer знает точную цель перетаскивания. А Windows Explorer нужны файлы (источник перетаскивания) в виде распакованных файлов на диске. Поэтому 7-Zip извлекает файлы из архива во временную папку, а затем 7-Zip уведомляет Windows Explorer о путях к этим временным файлам. Затем Windows Explorer копирует эти файлы в целевую папку перетаскивания.

Чтобы избежать использования временных файлов, вы можете использовать команду Extract в 7-Zip или перетащить файл из 7-Zip в 7-Zip.

решение2

Вы можете нажать F9внутри 7-Zip, вы получите две панели. В первой вы переходите к архиву, который хотите извлечь, а во второй вы переходите к папке, в которую хотите извлечь файлы. Это пропустит шаг с временной папкой.

решение3

Пошаговое извлечение содержимого .7zнепосредственно в целевую папку:

  1. Открыть .7zфайл в графическом интерфейсе 7zip
    • содержимое внутри .7zпоказано
  2. Нажмите — Extractкнопку
  3. Copyокно открывается
    1. Нажмите ...кнопку (обзор)
    2. Browse for folderокно открывается
      • Выберите целевую папку
      • Нажмите OK, чтобы закрыть Browseокно
    3. Попадание OKв Copyокно
  4. Извлечение начинается напрямуювцелевая папка

решение4

Я могу подтвердить каждое «решение» здесь (протестировав 32- и 64-битные варианты) и хотел бы кое-что добавить: Drag and Drop — это ВСЕГДА двухэтапное решение при перемещении между приложениями, просто нет способа обойти это даже с приложениями внутри одной экосистемы разработки, такими как игры Microsoft или Adobe. Причина вас не удивит. Разные приложения не взаимодействуют друг с другом напрямую при перемещении файлов между ними с помощью перетаскивания. Эта функциональность обрабатывается ОС, независимо от того, какую ОС вы используете. В Windows FileExplorer возьмет на себя управление App-A (которое отправляет) и получит ссылку на файл, который он использует — если файл еще не существует, вы получите возможность сохранить файл в некоторых приложениях, другие создают временный файл в указанном вами пространстве или используют временный кэш системы —; эта ссылка затем будет использоваться App-B (которое получает). Сжатый архив — это всего лишь набор битов, которые необходимо расшифровать и распаковать в файл(ы), которые содержит архив. Когда вы перетаскиваете файлы из 7zip в окно FileExplorer, эти файлы сначала должны быть распакованы во временное местоположение, поскольку они еще не существуют, а затем их можно перемещать. Это связано с тем, что 7zip НЕ РАСШИРЯЕТ FileExplorer, это отдельное приложение. Однако перетаскивание между двумя окнами 7zip не потребует этого временного пространства, оно может делать все это непосредственно в памяти. Та же функция находится с помощью функции EXTRACT и указания ей пути для сброса файлов. Однако вам не следует MOVE или COPY, если вы хотите избежать временного кэширования. Опять же, они создают временную рабочую копию, а затем перемещают ее по указанному вами пути. Вы по-прежнему можете выбрать один или несколько элементов разного типа и размера, затем извлечь их или перетащить в другое окно 7zip.

Связанный контент