View previous topic :: View next topic |
Author |
Message |
Shitbox2
Joined: 28 Jun 2009 Posts: 2
|
(Separately) Posted: Sun Jun 28, 2009 16:11 Post subject: Как быстро распаковать все zip-архивы на компьютере? |
|
|
Имеется 1000 папок, в каждой папке 10 zip-архивов (могут еще другие файлы лежать), в каждом архиве 1 файл. Файлы и папки имеют произвольные кириллические имена.
Как быстро распаковать все эти архивы, каждый в свою папку (сами архивы нужно удалить)?
Короче. Есть:
D:/Книги/Пушкин А.С./Евгений Онегин.zip/Евгений Онегин.fb2
Должно быть:
D:/Книги/Пушкин А.С./Евгений Онегин.fb2 |
|
Back to top |
|
|
Tol!k
Joined: 01 Apr 2008 Posts: 1727 Location: Арзамас
|
(Separately) Posted: Sun Jun 28, 2009 17:25 Post subject: |
|
|
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 |
|
Back to top |
|
|
Shitbox2
Joined: 28 Jun 2009 Posts: 2
|
(Separately) Posted: Sun Jun 28, 2009 17:53 Post subject: |
|
|
Спасибо, помогло!
Длинный путь к WinRAR у меня, кстати, тоже не работал |
|
Back to top |
|
|
Sclever1227
Joined: 01 Nov 2020 Posts: 3
|
(Separately) Posted: Sun Nov 01, 2020 01:49 Post subject: |
|
|
А не подскажете, как сделать, чтобы он каждый архив распаковывал в папку с именем архива, а потом удалял исходный архив?
То есть
1.zip
2.zip
3.zip
и так далее, он распаковал в папки:
1
2
3
И при этом удалил 1.zip 2.zip и т.д.? |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10303 Location: Россия, Саратов
|
(Separately) Posted: Sun Nov 01, 2020 08:45 Post subject: |
|
|
Sclever1227
Научитесь пользоваться поиском по форуму. Ссылка на скрипт. Дополнительные подробности — в памятке подфорума и самой теме с указанным сообщением. А двумя действиями это можно сделать без автоматизации: в стандартном диалоге TC есть опция для распаковки каждого архива в отдельный каталог, ненужные архивы потом можно удалить и ручками. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Sclever1227
Joined: 01 Nov 2020 Posts: 3
|
(Separately) Posted: Sun Nov 01, 2020 17:31 Post subject: |
|
|
Я просто не очень разбираюсь в этом.
В "Ссылке на скрипт" сохраняю все как .bat, но ничего не работает
Просто мигает командная строка, и закрывается.
А в примере из данного топика, все работает, только он распаковывает архивы не с именем архива, а сразу содержимое распаковывает.
Добавлено спустя 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 д.б. короткий, иначе у меня не работает |
У меня работает этот батник, единственное, что мне надо, чтобы архивы распаковывались в папки с именем архива, а не просто все вложенные файлы распаковывались из архива.
Помогите, кто разбирается |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10303 Location: Россия, Саратов
|
(Separately) Posted: Sun Nov 01, 2020 21:20 Post subject: |
|
|
Sclever1227
Разумеется, не работает, потому что скрипт — не батник, а памятку, где это сказано, вы не читаете. Нормально сделайте то, что уже сказано. _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Sclever1227
Joined: 01 Nov 2020 Posts: 3
|
(Separately) Posted: Sun Nov 01, 2020 22:01 Post subject: |
|
|
Avada wrote: | Sclever1227
Разумеется, не работает, потому что скрипт — не батник, а , где это сказано, вы не читаете. Нормально сделайте то, что уже сказано. |
Я понял про памятку, но как поправить батник? Что я выше привел. Не могу просто с ключами команд разобраться. Справку по винрару курил, но не особо помогло. По сути в батнике надо поправить только то, чтобы он распаковывал архивы в папки, и присваивал им имя архива, а сам архив удалял.
Заранее спасибо за ответ. |
|
Back to top |
|
|
Avada
Joined: 01 Aug 2008 Posts: 10303 Location: Россия, Саратов
|
(Separately) Posted: Mon Nov 02, 2020 06:55 Post subject: |
|
|
Sclever1227
Как поправить батник, вам будут отвечать (возможно) другие, я не специалист. Его автор на форуме иногда появляется (за последние три года — два раза). Ждите, если другие способы не устраивают.
И не надо цитировать всё подряд — ни пост с батником, ни мой ответ (это оверквотинг, запрещённый правилами форума): пользование кнопкой "цитата" предполагает, что сообщение потом редактируется. В данном же случае цитаты вообще не нужны (особенно с дублированием кода, раз вы пямятку читали). _________________ Даже самая богатая фантазия
Не представит себе наши безобразия. |
|
Back to top |
|
|
Monarch-LFV
Joined: 22 Jul 2019 Posts: 264
|
(Separately) Posted: Mon Nov 02, 2020 07:37 Post subject: |
|
|
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\ |
|
Back to top |
|
|
Monarch-LFV
Joined: 22 Jul 2019 Posts: 264
|
(Separately) Posted: Wed Dec 23, 2020 10:03 Post subject: |
|
|
Мало ли кому понадобится, подправил батники для удобной распаковки выделенных файлов архивов (и архивов с любыми другими расширениями, например 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
) |
|
|
Back to top |
|
|
|