![]() |
Распаковка большого количества zip.Помогите подправить пожалуйста
FOR /D /r %%F in ("*") DO (
pushd Н% cd %%F FOR %%X in (*.zip) DO ( "C:\Program Files\7-zip\7z.exe" x "%%X" ) popd ) у меня в папках по 2-3 архива и данный скрипт все в одну кучу распаковывает. помогите сделать так, чтобы каждых архив распаковывался в отдельную папку с тем же расположением и с таким же названием как и сам архив |
Код:
@echo off |
Foreigner, не знаю нужно ли это ТС, но распаковка будет не корректной при наличии вложенных архивов, т.к., получаемая таким образом папка, с именем архива, не будет соответствовать по содержимому тому, что содержит сам архив.
Пример: Папка 1 содержит файл 2.zip Файл 2.zip содержит два файла 3.zip и 4.zip Файлы 3.zip и 4.zip содержат по одному файлу 3.txt и 4.txt соответственно. После корректной распаковки в папке 1 должен остаться файл 2.zip и создастся папка 2 с двумя файлами 3.zip и 4.zip. На этом распаковка должна закончиться. Но скрипт продолжит обработки папок и будет распаковывать появившиеся в папке 2 файлы 3.zip и 4.zip с созданием соответствующих папок 3 и 4. (рекурсия с архивами может быть и более глубокой и запутанной) А если предположить, что в файле 2.zip кроме файлов 3.zip и 4.zip были еще и папки 3 и 4 с собственным содержимым, то содержимое архивов 3.zip и 4.zip будет распаковано в них и путаницы не избежать. |
Время: 14:11. |
Время: 14:11.
© OSzone.net 2001-