Понадобилось как-то сделать копию каталога с файлами и подкаталогами в виде аналогичного каталога, но с RAR архивами каждого файла. Набросал батничек.
@echo off @echo off Setlocal EnableDelayedExpansion rem Путь к архиватору (консольному) set rar="rar.exe" rem Первый параметр - каталог, в котором лежат файлы для архивирования set Src=%1 if "%Src%" EQU "" goto help rem Второй параметр - Путь к каталогу куда будут помещаться архивы set Dst=%2 if "%Dst%" EQU "" goto help rem Третий параметр - расширение файлов set ext=*.* if "%3" NEQ "" (set ext=%3) rem Четвертый параметр - пароль для архива if "%4" NEQ "" (set passw=-hp%4) :: Пофайловое архивирование с воссозданием каталогов for /f "delims=" %%i in ('dir /b /s /a-d "%Src%\%ext%"') do ( for /f "delims=" %%j in ("%%i") do ( if not exist "%Dst%%%~pj" (MD "%Dst%%%~pj" > nul) %rar% a -ep1 -dh -idc -m1 %passw% "%Dst%%%~pj%%~nj" "%%j" ) ) exit :help @echo Пофайловая архивация с воссозданием структуры каталогов @echo Вызов: %~nx0 каталог_источник каталог_приемник [расширение_файлов] [пароль] @echo. @echo Пример1: %~nx0 c:\temp c:\temp1 *.jpg @echo - архивация всех файлов с раширением jpg без пароля @echo. @echo Пример2: %~nx0 c:\temp c:\temp1 "" pupkin @echo - архивация всех файлов с паролем pupkin
|
@echo off
@echo off
Setlocal EnableDelayedExpansion
rem Путь к архиватору (консольному)
set rar="rar.exe"
rem Первый параметр - каталог, в котором лежат файлы для архивирования
set Src=%1
if "%Src%" EQU "" goto help
rem Второй параметр - Путь к каталогу куда будут помещаться архивы
set Dst=%2
if "%Dst%" EQU "" goto help
rem Третий параметр - расширение файлов
set ext=*.*
if "%3" NEQ "" (set ext=%3)
rem Четвертый параметр - пароль для архива
if "%4" NEQ "" (set passw=-hp%4)
:: Пофайловое архивирование с воссозданием каталогов
for /f "delims=" %%i in ('dir /b /s /a-d "%Src%\%ext%"') do (
for /f "delims=" %%j in ("%%i") do (
if not exist "%Dst%%%~pj" (MD "%Dst%%%~pj" > nul)
%rar% a -ep1 -dh -idc -m1 %passw% "%Dst%%%~pj%%~nj" "%%j"
)
)
exit
:help
@echo Пофайловая архивация с воссозданием структуры каталогов
@echo Вызов: %~nx0 каталог_источник каталог_приемник [расширение_файлов] [пароль]
@echo.
@echo Пример1: %~nx0 c:\temp c:\temp1 *.jpg
@echo - архивация всех файлов с раширением jpg без пароля
@echo.
@echo Пример2: %~nx0 c:\temp c:\temp1 "" pupkin
@echo - архивация всех файлов с паролем pupkin
Свежие комментарии