К основному контенту

Распаковка всех архивов в отдельные папки

Как распаковать все архивы в папке, чтобы каждый архив распаковался в отдельную папку?

Каждый архив будет распакован в папку с именем архива. Если папка с именем архива уже существует (встретились два архива с одинаковыми именами, например: 22.zip и 22.rar), архив буде распакован в папку вида имя_rar.

menu11=Распаковать все архивы в папку...
cmd11=%commander_path%\utils\helpers\unpall.cmd
param11=%p %t


unpall.cmd

setlocal enabledelayedexpansion
if -%1==- goto :eof
if -%2==- (set despa=%1) else set despa=%2
set xOS=x86
if defined PROCESSOR_ARCHITEW6432 (set xOS=x64) else if "%PROCESSOR_ARCHITECTURE%"=="AMD64" set xOS=x64
if not defined commander_path set commander_path=c:\soft\total
if %xOS%==x86 (set p7z=%commander_path%\utils\7zip\App\7-Zip\7z.exe) else set p7z=%commander_path%\utils\7zip\App\7-Zip64\7z.exe

pushd %1 || goto :eof
for /f "tokens=*" %%i in ('dir /b /s /a *.zip *.rar *.7z') do (
set _unpex=%%~xi
set _unext=!_unpex:~1!
set _undir=%despa%%%~ni
set _unpdi=!_undir!
if exist !_undir! set _unpdi=!_undir!_!_unext!
set _unpdi="!_unpdi!"
%p7z% x "%%i" -o!_unpdi! -aoa
)
popd

Комментарии

Популярные сообщения из этого блога

Печать файлов из папки в автоматическом режиме

Простой метод организовать простой "сервер печати" без драйверов.

Как убрать рекламные баннеры Розетки

С некоторых пор Adblock оказался бессилен заблокировать баннеры Розетки, которые теперь бессовестно прут из всех щелей, порой даже ломая разметку страницы.