Есть такое, делал для себя, только для rar. Можно переделать, впиши команды из 7z и все:
Код:

rem Батник принимает в параметре путь к папке. Будут запакованы все файлы во всех нижестоящих папках по нужному расширению.
rem Запрашивает расширение файлов для упаковки. Вводим расширение без точки
rem например: doc
rem или: fb2
rem и т.д.
rem --------------------------------------------------------------
rem Если не указан путь к папке то ошибка и выход.
@echo off
@chcp 1251
@rem recursive Packing (move) files to archive in subfolders -
@rem filename == archivename
@rem check parameters
@if "%~1"=="" goto :NoParam
@chdir /d %1
@if %errorlevel% neq 0 goto :NoParam
@if exist packErr.log del packErr.log
echo ^---------------------------------------------------
echo.
set /p ext=[ Enter file Extensions for Packing ] :
rem main loop
rem тут прописать путь до архиватора, там где после ) do ("путь_до_архиватора" <параметры> "%%~dpni".rar "%%i")
for /f "delims=%%" %%i in ('dir /s /b *.%ext%') do ("%~dp0..\Plugins\arc\rar.exe" m -m5 -ep -ri3 "%%~dpni".rar "%%i") 2>packErr.log
if exist packErr.log start "%SYSTEMROOT%\notepad.exe" packErr.log
exit
exit
:NoParam
echo.
ECHO ================= %~n0. Command line error: "%*"
pause
EXIT /B 1
и для распаковки в сквозную всех рахивов rar из теущей папки в вниз:
Код:

@echo off
chcp 1251
rem recursive UNpack archives in folder and then delete archives
rem check parameters
if "%~1"=="" goto :noparam
chdir /d "%~1"
if %errorlevel% neq 0 goto :noparam
if exist unperror.log del unperror.log
rem main loop
echo ======= Работаю ...
@for /f "delims=%%" %%i in ('dir /S /b *.rar') do (
%~dp0..\Plugins\arc\rar.exe e -u "%%~fi" "%%~dpi" && del "%%~fi"
) 2>>unperror.log
echo ^=============================================================
if exist unperror.log start "" notepad.exe unperror.log
echo ^=============================================================
pause
exit
exit
:noparam
echo.
echo =============== %~n0. Command line error: "%*"
echo.
pause
exit /B 1
У меня эти скрипты в ТоталКоммандер повешены на две кнопки обе с параметром "%P" . Полезно для книг распаковки\запаковки и др. всего.