Top.Mail.Ru
Ответы

Пакетная архивация файлов по отдельности

Подскажите, пожалуйста, как архивировать все файлы, содержащиеся в папке, по отдельности
без сжатия с паролем в формат .rar или .7z с помощью программы 7-Zip.

Я нашел 3 ответa на свой вопрос, но я их не до конца понимаю:
1:
FOR /R %%i IN (*.mp3) DO ( "C:\Program Files\WinRAR\Rar.exe" a -ep -ppassword -m5 -zcomment.txt "%%i.rar" "%%i" )

pause

Данный скрипт найдет все mp3 файлы в текущей папке (*.mp3), и заархивирует каждый mp3 файл по отдельности (команда a), при этом на созданный архив устанавливается пароль "password" (ключ -p), с максимальной степенью сжатия (ключ -m5). Также к rar архиву добавится комментарий из файла comment.txt (ключ -z) и проигнорируются пути файлов внутри архива, т. е. в созданном архиве файл (ы) будет лежать в корне (ключ -ep).
---------------------
---------------------
---------------------
2: (на скриншоте)
@echo off
cd /d "C:\PDFfiles"
for %%i in ("C:\PDFfiles\*.pdf") do (
"%ProgramFiles%\7-Zip\7z.exe" a "C:\PDFin7z\%%~nxi.7z" "%%~nxi"
)
exit
--------------------
--------------------
3: (на скриншоте)
@echo off
SetLocal EnableDelayedExpansion

set "arh=c:\Program Files\7-Zip\7z.exe"
set "in=c:\Новая папка"
set "out=c:\Новая папка\1"

if not exist "%out%" md "%out%"

:: сжатие максимальное (-mx=9), алгаритм LZMA2 (-m0=LZMA2), словарь 96Мб (d=96m) , слово 128 (:fb=128), блок 4ГБ (по умолчанию при максимальном сжатии), потоков 2 (-mmt=2)

for %%a in ("%in%\*.iso") do (
start "Создание 7z архива" /wait "%arh%" a "%out%\%%~na.7z" -m0=LZMA2:d=96m:fb=128 -mx=9 -mmt=2 "%%a"
)
pause
exit /b

По дате
По рейтингу
Аватар пользователя
Новичок
9лет

да не бери в голову. Большую часть из параметров можно убрать. Главное, что бы работало. Собсно, зачем сразу три, достаточно одного из них, нпрм самый простой 1й вариант

Вроде исполняемый файл у Игоря Павлова давно уже 7za.exe называется и для пароля там такой же ключ -p, что и у rar