Имя екзешника=имени батника. Екзешник с архивом в самой папке
Код:
@Echo off
start "Rar" "C:\Program Files\Winrar\Winrar.exe" M -r -sfx "%~n0.exe" "%~dp0"
В корне C:
Код:
@Echo off
start "Rar" "C:\Program Files\Winrar\Winrar.exe" M -r -sfx "C:\%~n0.exe" "%~dp0"
Для 7-Zip несколько сложнее и ненадёжнее, я не знаю у 7-zip ключа, который отвечает за удаление файлов после архивации
Код:
@Echo Off
Set Dir="%~dp0"
Set Name="C:\%~n0.exe"
CD /D %Dir%
"C:\Program Files\7-Zip\7z.exe" a -r -sfx %Name% %Dir%
rd %Dir% /S /Q >nul 1>nul 2>nul