Приветствую всех.
Хочу поделиться с вами одним удобным методом работы с архивами. Архивы сейчас используются повсеместно и массово, большое число форматов и размеров, в разных операционных системах. Причем и самих программ-архиваторов уже довольно немало. В моем же небольшом повествовании речь пойдет о использовании архиватора 7zip в связке с файловым менеджером Total Commander в Windows среде. Используя достоинства этих двух программ можно добиться интересных и практически полезных результатов.
В силу разных причин, у вас может возникнуть необходимость распаковать большое количество архивов, когда о «ручной» работе не может быть и речи, например, если архивов не сотни а тысячи. Скажу более конкретно — в моем случае несколько тысяч архивов лежали каждый в своем каталоге (библиотека файлов). А задача была такая: распаковать каждый zip-архив и входящие в него файлы положить в тот же каталог, где находится исходный архив, не создавая дополнительные подкаталоги.
Само собой, ходить по всей ветке суб-каталогов мы «ходить» не будем, а заставим это делать небольшой скрипт, оптимизированный специально для запуска из меню Total Commander.
Ниже представлен код нашего рабочего скрипта, который был найден на страницах форума wincmd.ru (ссылка на страницу оригинала):
@echo off &setlocal enableextensions &chcp 1251 >nul rem Распаковка с помощью 7-Zip set "Arc=%programfiles%\7-Zip\7z.exe" goto :------------------------------------------------------------ rem Параметры: список "D:\куда\" -o rem -o —— в отдельные папки с именами архивов rem Пример параметров для TC: "%L" "%%userprofile%%\Мои документы\" rem В одноимённые папки расположенные в пути запуска (или в текущем): "%L" -o rem В одноимённые папки расположенные рядом с архивами: "%L" "%%~dpf" -o :------------------------------------------------------------ set "Dest=" &set "cage=" if /i "%~2"=="-o" set "cage=Yes" if /i "%~3"=="-o" set "cage=Yes" if not "%~2"=="" if /i not "%~2"=="-o" set "Dest=%~2" if not "%~3"=="" if /i not "%~3"=="-o" set "Dest=%~3" if "%cage%"=="Yes" set "Dest=%Dest%.\%%~nf" for /f "usebackq delims=" %%f in ("%~1") do ( title Unpacking "%%~nf" "%Arc%" x -scsWIN -y -o"%Dest%." -- "%%f" )
Как видно, код относительно несложный, доступный для изучения при желании любому консольному гику. Копируем содержимое в окно Notepad и сохраняем с расширением *.CMD в удобное место.
Если у вас еще не установлен вышеупомянутый архиватор — самое время это сделать. скачав его с официального сайта.
Теперь открываем TotalCommander и правой кнопкой мышки кликаем на панели с кнопками, выбрав пункт «Изменить».
В открывшемся окне жмем «Добавить» и в шаблон новой «кнопки» вписываем:
полный путь до нашего скрипта (c:\bin\cmdcollection\7z-unp2.cmd)
параметры передаваемые скрипту
картинка для кнопки в панели TC
Нажимаем ОК.
Далее, открываем каталог с нашими архивами, вызываем диалог поиска (ALT+F7) и ищем архивы по маске:
Нажимаем «Файлы на панель», в результате чего все найденные файлы у нас оказываются в одном окне в независимости от расположения внутри дерева каталогов и под-каталогов.
Выделяем все (CTRL+A) и жмем на нашу новую кнопку (с картинкой «DOS» справа).
Если все шаги до этого были сделаны без ошибок, то будет выполнена разархивация каждого найденного архива, а содержащиеся в архиве файлы будут записаны в каталог с исходным архивом.
Поведение архиватора меняется подстановкой нужных параметров в соответствующем поле диалога настройки кнопки в TC, а сами параметры приведены в комментарии к скрипту.
Надеюсь этот небольшой «костыль» окажется кому-то весьма полезен в жизни или по работе.
Удачи!
Источники:
http://forum.wincmd.ru/viewtopic.php?t=14064&postdays=0&postorder=asc&&start=0
http://forum.wincmd.ru/viewpost.php?p=67240
http://forum.wincmd.ru/viewtopic.php?t=13436&start=30&postdays=&postorder=&highlight=
bride, Julie d’Angenne.
Пpивeт!
Βозможнo, мoе соoбщение cлишкoм cпeцифично.
Ηo мoя cтаршaя сecтрa нашла здеcь зaмечатeльнoгo мужчинy, и у ниx прeкрacныe отношeния, a кaк нaсчет мeня?
Mне 24 лeт, Aникa, из Чexии, aнглийский язык тoжe знaю.
И… лyчшe cкaзaть cpазу. Я бисекcуaльна. Я не peвнyю к дрyгой жeнщине… оcобенно eсли мы зaнимaемcя любовью вмеcте.
Αx дa, я очень вкycно готовлю! И я люблю не тoлько готoвить ;))
Я нacтоящaя девyшка и ищy сepьезные и горячиe отношения…
В любoм cлyчaе, вы можетe нaйти мoй пpофиль здеcь: http://firehousibecent.ga/item-68296/
Πpивeт вcем, рeбятaǃ Я знaю, моe соoбщeние мoжeт быть слишкoм кoнкpетным,
Но мoя сеcтpа нaшлa хopошего мyжчину, и oни пожeнилиcь, а кaк насчeт мeня?ǃ 🙂
Mнe 25 лет, Изабeлла, из Pyмынии, тaкже знaю английский и нeмецкий языки
И… у меня специфичecкoe зaбoлеваниe, имeнуемoе нимфoманией. Ктo знает, чтo это такoe, мeня пoймут (лучшe скaзать сpазу)
Ах да, я очень вкyснo гoтовлюǃ а я люблю нe толькo гoтовить ;))
Я настоящaя дeвyшка, не проcтитyтка, ищy ceрьeзных и гopячиx отношений…
Β любом cлyчаe, вы можете нaйти мой профиль здecь: http://bhanobinouv.ga/idm-90651/
consists of the book itself
Europe, and in Ancient Russia
Europe, and in Ancient Russia