Создание нескольких архивов из каталога без добавления имени корня каталога в архив

Создание нескольких архивов из каталога без добавления имени корня каталога в архив

Этот пакет отлично подходит для создания нескольких архивов в папке, но добавляет корневую папку в архив. Я бы хотел, чтобы он добавлял только файлы внутри корня. Вот код, который у меня есть:

for /d %%X in (*) do "C:\Program Files\7-Zip\7z.exe" a "%%X.zip" "%%X"

решение1

Вам просто нужно использовать всего лишьдляцикл, опускающий /dпараметр, и он будет работать так же, как вы описываете, создавая файл(ы) zip-архива и не содержащий его родительскую папку.

Команды

Примечание: Это добавит файл zip-архива для каждого файла в каталоге, и в zip-архиве будет находиться только этот файл.

for %%X in (*) do "C:\Program Files\7-Zip\7z.exe" a "%%~X.zip" "%%~X"

Примечание: Это добавит все файлы только из указанного каталога в один указанный вами zip-файл.

for %%X in (*) do "C:\Program Files\7-Zip\7z.exe" a "<MyZipFileName>.zip" "%%~X"

Команда Nest Loop

Примечание: Это позволит добавить файлы только из каталогов, находящихся ниже каталога, в котором находится пакетный файл, в zip-файл, соответствующий имени каталога.

@ECHO ON

FOR /F "TOKENS=*" %%A in ('DIR /S /B /AD "*"') DO (
  FOR %%B IN (*) DO (
      "C:\Program Files\7-Zip\7z.exe" a "%%~fA.zip" "%%~fA\*")
)
EXIT

Дополнительные ресурсы

  • Для /Ф
  • FOR /?

        tokens=x,y,m-n  - specifies which tokens from each line are to
                          be passed to the for body for each iteration.
                          This will cause additional variable names to
                          be allocated.  The m-n form is a range,
                          specifying the mth through the nth tokens.  If
                          the last character in the tokens= string is an
                          asterisk, then an additional variable is
                          allocated and receives the remaining text on
                          the line after the last token parsed.
    
  • Режиссёр
  • Для
  • команда (Добавить)

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