Код:

@echo off
chcp 866
rem recursive Packing (move) files to archive in subfolders
rem запаковка в rar файлов по указаннному расширению с удалением исходного файла. -move
rem на вход - папка и в ней копаемся. Для уменьшения размеров библиотеки с книгами. ;-)
@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
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
rem В случае успешного окончания операции WinRAR завершает работу с нулевым (0) кодом возврата.
rem Если код возврата отличается от нулевого, это говорит о том, что произошла какая-то ошибка.
rem Код возврата Описание
rem :0
rem echo ^================= ERRORLEVEL: %ERRORLEVEL% Операция успешно завершена.
rem exit
rem :1
rem echo ^================= ERRORLEVEL: %ERRORLEVEL% Предупреждение. Произошли некритические ошибки.
rem pause
rem exit
rem :2
rem echo ^================= ERRORLEVEL: %ERRORLEVEL% . Произошла критическая ошибка.
rem rem pause
rem exit
rem exit
rem :3
rem echo ^================= ERRORLEVEL: %ERRORLEVEL% При распаковке обнаружена ошибка CRC.
rem pause
rem exit
rem exit
rem :4
rem echo ^================= ERRORLEVEL: %ERRORLEVEL% Предпринята попытка изменить заблокированный архив.
rem pause
rem exit
rem :5
rem echo ^================= ERRORLEVEL: %ERRORLEVEL% Произошла ошибка записи на диск.
rem pause
rem exit
rem :6
rem echo ^================= ERRORLEVEL: %ERRORLEVEL% Произошла ошибка открытия файла.
rem pause
rem exit
rem :7
rem echo ^================= ERRORLEVEL: %ERRORLEVEL% Ошибка при указании параметра в командной строке.
rem pause
rem exit
rem :8
rem echo ^================= ERRORLEVEL: %ERRORLEVEL% Недостаточно памяти для выполнения операции.
rem pause
rem exit
rem :9
rem echo ^================= ERRORLEVEL: %ERRORLEVEL% Ошибка при создании файла.
rem pause
rem exit
rem :255
rem echo ^================= ERRORLEVEL: %ERRORLEVEL% Операция была прервана пользователем.
rem pause
rem exit
:NoParam
echo.
ECHO ================= %~n0. Command line error: "%*"
pause
EXIT /B 1