4
 7za a -t7z -mmt -mx9 -y Include.7z .\Include\*

Приведенная выше команда добавляет файлы в архив 7z, но что, если я хочу, чтобы они были в пользовательской подпапке?

Например, Files\ inside .7z

2 ответа2

4

Похоже, что сам разработчик ответил на этот вопрос, когда вы спросили его:

Теперь нет варианта для этой задачи.

Вы можете использовать дополнительную команду "rn" (Переименовать), чтобы переименовать папку внутри архива.

Экспериментируя, я обнаружил, что в качестве альтернативы вы можете создать структуру папок, которую вы хотите добавить. Пусть ваша "область подготовки" относится к месту в вашей файловой системе, где вы готовите файлы / папки для добавления ... Для вашего примера вы могли бы

  • Создайте новую (пустую) папку « Include » в своей промежуточной области.
  • Поместите все новые файлы и подпапки, которые вы хотите добавить, в архив под ним.
  • Добавьте их в архив, используя ту же команду, что и в вопросе. (The команда в a и ... означает "добавить в архив", так что это та же команда , существует ли или нет в архиве еще.)

Используя этот метод,

  • Любые файлы в архиве, которые не находятся в вашей промежуточной области, останутся без изменений.
  • Будут добавлены любые файлы / папки в области подготовки, но не в архиве.
  • Любые файлы в обоих местах будут перезаписаны в архиве новыми из вашей области подготовки.
0

Попробуй это:

"C:\Program Files\7-Zip\7z.exe" a C:\deploy\TOP.ear C:\apps\temp\entidadejar\lib

Добавьте папку lib в TOP.ear , если подпапка существует, 7z добавит файлы в подпапку lib .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .