Может ли кто-нибудь помочь мне сделать пакетный файл для моей проблемы. У меня есть несколько папок, которые я хочу сжать индивидуально.
корень
- папка 1
файл 1
файл 2- папка 2
файл 1
файл 2
мне нужно сначала зайти в папку 1, а затем сжать все ее содержимое (файлы и папки, даже вложенные в нее подкаталоги), а затем назвать файл zip в честь папки. после этого перейдите в папку 2 и сделайте то же самое.
был простой скрипт:
для / d %% X в (*) сделать "c: \ Program Files \ 7-Zip \ 7z.exe" a "%% X" "%% X \"
но результат не то, что я намерен получить. Приведенный выше скрипт будет сжимать все папки внутри по отдельности, но архив будет иметь двойную папку при извлечении. приведенный выше код сжимает папку 1. но когда я извлекаю папку 1, она будет выглядеть так:
корень
папка 1
папка 1
файл 1
файл 2
это не то же самое, что входить в первую папку, сжимать в ней все, сохранять zip-файл с именем папки, а затем переходить к следующей папке, пока она не сожмет все.
источник
Ответы:
Это зависит от команды, которую вы используете для извлечения.
Если вы выберете «извлечь здесь», вы получите именно то, что вы хотите.
Однако, если вы действительно не хотите имен папок в вашем архиве, вы можете сделать следующее:
Обратите внимание
.\%%X\*
. Это исключит само имя каталога.источник