ADVERTISEMENT
Как запаковать каждый файл в отдельный архив 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. В результате выполнения скрипта в выходном каталоге появятся архивы, в каждом их которых будет по одному файлу из входного каталога.
ADVERTISEMENT
Total commander или Winrar это умеют делать по умолчанию
добрый день. долго искал этот скрипт для WinRAR, нашёл :)
проставил все пути,
но окно запуска мелькает за полсекунды, не подскажете, где хотя бы лог посмотреть? я что-то делаю не так…
Попробовать запустить из командной строки. Проверить правильность путей.
Ты все так делаешь, просто там ошибок полно.
строки должны выглядеть так:
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»