Windows

Как запаковать каждый файл в отдельный архив 7-zip/WinRAR

Как запаковать каждый файл в отдельный архив 7-zip/WinRAR

Есть большое количество файлов, каждый из которых нужно положить в отдельный архив. Напишем скрипт, который возьмет каждый файл из входной папки, заархивирует его с помощью архиваторов 7-zip или WinRAR и положит в выходной каталог.

Для этого создаем файл archive.bat со следующим содержимым:

для 7-zip:

set _in=с:in
set _out=с:out
set _arcpath=c:Program Files7-zip
for %%i in (%_in%*.*) do "%_arcpath%7z" a "%_out%%%~ni.7z" "%%i"

для WinRAR:

set _in=с:in
set _out=с:out
set _arcpath=c:Program FilesWinRar
for %%i in (%_in%*.*) do "%_arcpath%rar" a -ep1 -t -m0 "%_out%%%~ni.rar" "%%i"

Где

  • _in — входной каталог.
  • _out — каталог, где будут размещаться созданные архивы.
  • _arcpath — путь до архиватора.

В данном скрипте обрабатываются все файлы из входного каталога. При необходимости, вместо маски *.* можно указать любую маску файла. Например, для текстовых файлов нужно прописать маску *.msi или *.exe. В результате выполнения скрипта в выходном каталоге появятся архивы, в каждом их которых будет по одному файлу из входного каталога.

Насколько полезным был этот пост?

Нажмите на звезду, чтобы оценить!

Средний рейтинг 5 / 5. Голосов: 1

Пока оценок нет! Будьте первым, поставь свою оценку этому посту.

Мы сожалеем, что этот пост не был полезен для вас!

Давайте улучшим этот пост!

Расскажите, как мы можем улучшить этот пост?

Теги
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

4 Комментарий
Newest
Oldest Most Voted
Inline Feedbacks
View all comments
Панас
Панас
24.12.2019 12:17

Total commander или Winrar это умеют делать по умолчанию

Сергей
Сергей
08.01.2016 21:08

добрый день. долго искал этот скрипт для WinRAR, нашёл :)
проставил все пути,
но окно запуска мелькает за полсекунды, не подскажете, где хотя бы лог посмотреть? я что-то делаю не так…

Dmitrych
Dmitrych
Reply to  Сергей
08.11.2017 14:09

Ты все так делаешь, просто там ошибок полно.
строки должны выглядеть так:
for %%i in (%_in%\*.*) do «%_arcpath%\7z.exe» a «%_out%\%%~ni.7z» «%%i»
и
for %%i in (%_in%\*.*) do «%_arcpath%\rar.exe» a -ep1 -t -m0 «%_out%\%%~ni.rar» «%%i»

Back to top button
4
0
Would love your thoughts, please comment.x
()
x
Close
Close