![]() |
Как упаковать именно содержимое множества папок, а папки удалить
Мозги у меня уже не самые молодые и я далек от скриптов, поэтому прошу помощи.
Нужно решение на батниках и с применением архиватора 7z. Вопрос №1 Как упаковать содержимое множества папок (упаковать не папки, а их содержимое) в архивы по имени папок, а папки удалить Теперь чуть подробнее. Есть папки: папка 001 в которой например папка ABC в которой есть файлы папка 002 в которой просто лежат файлы Пример: Код:
001 Вот такая вот строка (подсмотрел в интернете) упаковывает все папки в zip-архивы for /D %%i in (*) do "c:\Program Files\7-Zip\7z.exe" a -tzip %%i.zip %%i Получаем архивы 001.zip и 002.zip, но архивируются именно папки 001 и 002, а мне надо в архиве получить содержимое этих папок, то есть чтобы при входе в архив 001.zip была видна папка ABC, а при входе в 002.zip файлы 333.txt и 444.txt Упакованные папки потом ещё удалить как-то надо. Решение: Код:
for /D %%a in (*) do "c:\Program Files\7-Zip\7z.exe" a -tzip -mx7 "%%~nxa.zip" "%%~dpnxa\*"&&rd /s /q "%%a" Никак не соображу. Мне надо в командную строчку вставить метод компрессии m=7 например. Если вставляю вот так for /D %%i in (*) do "c:\Program Files\7-Zip\7z.exe" a -tzip %%i.zip %%i m=7 то архиватор ругается, что файла m=7 нет и пакует папки с m=3 (по умолчанию). |
Цитата:
1. Не указан символ ключа (или дефис, или восходящий слэш) 2. И вообще неверная форма записи для указания степени компрессии: у вас должно быть в итоге -mx7 (cмотрим документацию на 7-zip и разжёвывающую статью на Хабре). Да и ключи надо бы указывать до, а не после списка пакуемых файлов (т.е. ......-tzip -mx7 %%i.zip %%i) |
Код:
for /d %%a in (*) do 7z a -tzip -ssw -mx7 "%%~nxa.zip" "%%~dpnxa\*" |
Цитата:
Спасибо за подсказку. Цитата:
Код:
for /d %%a in (*) do "c:\Program Files\7-Zip\7z.exe" a -tzip -mx7 "%%~nxa.zip" "%%~dpnxa\*"&&rd /s /q "%%a" |
Цитата:
Код:
@Echo Off |
|
Цитата:
Для Вас такое ерунда и мелочь, а для меня вот такое вот маленькое счастье. :yes: |
alexxx2011, не делайте так, позвольте это сделать архиватору, это безопаснее.
А For это в самом деле увлекательно :) |
Цитата:
|
Время: 19:16. |
Время: 19:16.
© OSzone.net 2001-