Как быстро распаковать все zip-архивы на компьютере?
Select messages from
# through # FAQ
[/[Print]\]

Total Commander -> Автоматизация Total Commander

#1: Как быстро распаковать все zip-архивы на компьютере? Author: Shitbox2 PostPosted: Sun Jun 28, 2009 16:11
    —
Имеется 1000 папок, в каждой папке 10 zip-архивов (могут еще другие файлы лежать), в каждом архиве 1 файл. Файлы и папки имеют произвольные кириллические имена.
Как быстро распаковать все эти архивы, каждый в свою папку (сами архивы нужно удалить)?

Короче. Есть:
D:/Книги/Пушкин А.С./Евгений Онегин.zip/Евгений Онегин.fb2
Должно быть:
D:/Книги/Пушкин А.С./Евгений Онегин.fb2

#2:  Author: Tol!kLocation: Арзамас PostPosted: Sun Jun 28, 2009 17:25
    —
Code:
@echo off&chcp 1251>nul
rem Распаковка всех .zip с последующим удалением
setlocal enableextensions
for /f "delims=" %%f in ('dir /b/s *.zip') do (
start /wait C:\Progra~1\WinRAR\WinRar.exe X -y -ibck "%%f" "%%~dpf\"&&del /Q "%%f"
)

Сохрани код в текстовый файл unzip-del.cmd
Помести в папку, с которой нужно начать, и запусти
Путь к WinRar.exe д.б. короткий, иначе у меня не работает


Last edited by Tol!k on Sun Jun 28, 2009 17:59; edited 1 time in total

#3:  Author: Shitbox2 PostPosted: Sun Jun 28, 2009 17:53
    —
Спасибо, помогло!
Длинный путь к WinRAR у меня, кстати, тоже не работал

#4:  Author: Sclever1227 PostPosted: Sun Nov 01, 2020 01:49
    —
А не подскажете, как сделать, чтобы он каждый архив распаковывал в папку с именем архива, а потом удалял исходный архив?
То есть
1.zip
2.zip
3.zip
и так далее, он распаковал в папки:
1
2
3
И при этом удалил 1.zip 2.zip и т.д.?

#5:  Author: AvadaLocation: Россия, Саратов PostPosted: Sun Nov 01, 2020 08:45
    —
Sclever1227
Научитесь пользоваться поиском по форуму. Ссылка на скрипт. Дополнительные подробности — в памятке подфорума и самой теме с указанным сообщением. А двумя действиями это можно сделать без автоматизации: в стандартном диалоге TC есть опция для распаковки каждого архива в отдельный каталог, ненужные архивы потом можно удалить и ручками.

#6:  Author: Sclever1227 PostPosted: Sun Nov 01, 2020 17:31
    —
Я просто не очень разбираюсь в этом.
В "Ссылке на скрипт" сохраняю все как .bat, но ничего не работает Sad
Просто мигает командная строка, и закрывается.
А в примере из данного топика, все работает, только он распаковывает архивы не с именем архива, а сразу содержимое распаковывает.

Добавлено спустя 1 час 40 минут:

Tol!k wrote:
Code:
@echo off&chcp 1251>nul
rem Распаковка всех .zip с последующим удалением
setlocal enableextensions
for /f "delims=" %%f in ('dir /b/s *.zip') do (
start /wait C:\Progra~1\WinRAR\WinRar.exe X -y -ibck "%%f" "%%~dpf\"&&del /Q "%%f"
)

Сохрани код в текстовый файл unzip-del.cmd
Помести в папку, с которой нужно начать, и запусти
Путь к WinRar.exe д.б. короткий, иначе у меня не работает


У меня работает этот батник, единственное, что мне надо, чтобы архивы распаковывались в папки с именем архива, а не просто все вложенные файлы распаковывались из архива.
Помогите, кто разбирается Sad

#7:  Author: AvadaLocation: Россия, Саратов PostPosted: Sun Nov 01, 2020 21:20
    —
Sclever1227
Разумеется, не работает, потому что скрипт — не батник, а памятку, где это сказано, вы не читаете. Нормально сделайте то, что уже сказано.

#8:  Author: Sclever1227 PostPosted: Sun Nov 01, 2020 22:01
    —
Avada wrote:
Sclever1227
Разумеется, не работает, потому что скрипт — не батник, а , где это сказано, вы не читаете. Нормально сделайте то, что уже сказано.


Я понял про памятку, но как поправить батник? Что я выше привел. Не могу просто с ключами команд разобраться. Справку по винрару курил, но не особо помогло. По сути в батнике надо поправить только то, чтобы он распаковывал архивы в папки, и присваивал им имя архива, а сам архив удалял.
Заранее спасибо за ответ.

#9:  Author: AvadaLocation: Россия, Саратов PostPosted: Mon Nov 02, 2020 06:55
    —
Sclever1227
Как поправить батник, вам будут отвечать (возможно) другие, я не специалист. Его автор на форуме иногда появляется (за последние три года — два раза). Ждите, если другие способы не устраивают.
И не надо цитировать всё подряд — ни пост с батником, ни мой ответ (это оверквотинг, запрещённый правилами форума): пользование кнопкой "цитата" предполагает, что сообщение потом редактируется. В данном же случае цитаты вообще не нужны (особенно с дублированием кода, раз вы пямятку читали).

#10:  Author: Monarch-LFV PostPosted: Mon Nov 02, 2020 07:37
    —
Sclever1227
сделал код проще:
Code:
@echo off
for /f "delims=" %%f in ('dir /b/s *.zip') do (
   "%COMMANDER_PATH%\Plugins\exe\WinRAR-x64\WinRAR.exe" X "%%f" "%%~dpnf\"  && del /Q "%%f"
)


Также сохранить в батнике, указать свой путь до Winrar (у меня он всегда в ТС).
Если быть точнее в прошлом батнике автор кода забыл проставить имя файла архива %%~dpnf\

#11:  Author: Monarch-LFV PostPosted: Wed Dec 23, 2020 10:03
    —
Мало ли кому понадобится, подправил батники для удобной распаковки выделенных файлов архивов (и архивов с любыми другими расширениями, например docx, xlsx, pptx и т.п.). Само собой нужно прописать правильный путь до Winrar и в параметрах кнопок выставить %P%S (Версия Winrar должна быть не меньше 5.70, так как только в ней появился параметр -ad1). Работают правильно и в Branch view.
Батники:
1. Распаковать выделенные архивы в одноименные папки:
Code:
@echo off
setlocal enableextensions
for %%f in (%*) do (
   "%COMMANDER_PATH%\Plugins\exe\WinRAR-x64\WinRAR.exe" x -ad1 -ibck %%f
)

2. Распаковать выделенные архивы в одноименные папки и удалить архивы:
Code:
@echo off
setlocal enableextensions
for %%f in (%*) do (
   "%COMMANDER_PATH%\Plugins\exe\WinRAR-x64\WinRAR.exe" x -ad1 -ibck %%f && del /Q %%f
)



Total Commander -> Автоматизация Total Commander


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group