Вот пакетный файл для более общего использования этой общей задачи, потому что папка с подпапками для архивирования может быть указана в качестве первого параметра при запуске пакетного файла.
@echo off
setlocal
set "BackupFolder=C:\Backup"
rem Folder to archive can be optionally specified as parameter.
if "%~1" == "" (
set "FolderToArchive=C:\projects"
) else (
set "FolderToArchive=%~1"
)
rem Check existence of the folder to archive.
if not exist "%FolderToArchive%\*" (
echo.
echo Error: Folder %FolderToArchive% does not exist.
echo.
endlocal
pause
goto :EOF
)
rem Check existence of backup folder and create this folder
rem if not already existing with verification on success.
if not exist "%BackupFolder%\*" (
md "%BackupFolder%"
if errorlevel 1 (
echo.
echo Error: Folder %BackupFolder% could not be created.
echo.
endlocal
pause
goto :EOF
)
)
rem Archive each subfolder in specified or default folder to archive
rem as separate archive with name of folder as archive file name and
rem with current date and an automatically incremented number with at
rem least 2 digits appended to the archive file name to be able to
rem create multiple archives on different days and even on same day.
rem Parent directory path of each subfolder is removed from archive.
rem The name of the subfolder itself is added to each archive. This
rem can be changed by replacing "%%D" with "%%D\" or "%%D\*". Then
rem the files and subfolders of the compressed folder would be added
rem to archive without the name of the compfessed folder.
rem Best compression is used on creating a solid archive with 4 MB
rem dictionary size. All messages are suppressed except error messages.
rem The last modification time of the created archive file is set to
rem date and time of newest file inside the archive.
set "RarError=0"
for /D %%D in ("%FolderToArchive%\*") do (
echo Archiving %%D ...
"%ProgramFiles%\WinRAR\Rar.exe" a -ag_YYYY-MM-DD_NN -cfg- -ep1 -idq -m5 -md4m -r -s -tl -y "%BackupFolder%\%%~nD.rar" "%%D"
if errorlevel 1 set "RarError=1"
)
rem Wait for a key press if an error occurred on creating an archive file.
if "%RarError%" == "1" (
echo.
pause
)
endlocal
Для получения подробной информации об используемых переключателях в командной строке Rar откройте текстовый файл Rar.txt
в папке Program Files WinRAR, который является руководством для консольной версии Rar.exe
, и прочитайте пояснения к этим переключателям. .
Примечание. Команда a (добавить в архив) используется в приведенном выше пакетном коде вместо m (переместить в архив).
Руководство по использованию WinRAR.exe
из командного файла можно найти в справке WinRAR на вкладке Содержание в пункте Режим командной строки.
Существуют некоторые различия в списке переключателей между консольной версией и версией WinRAR с графическим интерфейсом. Например, WinRAR.exe
поддерживает также создание ZIP-архивов, которые Rar.exe
не поддерживает. Поэтому WinRAR.exe
поддерживает переключатель -af<type>
, которого нет в консольной версии. Или переключатель -idq
(тихий режим) консольной версии является переключателем -ibck
(работает в фоновом режиме) для версии с графическим интерфейсом.
Чтобы понять, какие команды используются и как они работают, откройте окно командной строки, выполните в нем следующие команды и внимательно прочитайте все страницы справки, отображаемые для каждой команды.
echo /?
endlocal /?
for /?
if /?
md /?
pause /?
rem /?
set /?
setlocal /?
Примечание. Такое архивирование также можно выполнить с помощью WinRAR, выбрав в WinRAR папки для архивирования, нажав значок Добавить на панели инструментов, вставив C:\Backup\
на Имя архива и включение параметра Помещать каждый файл в отдельный архив на вкладке Файлы. Другие параметры, используемые в пакетном файле выше, определенные с помощью переключателей, можно найти на вкладках Общие, Резервное копирование и Время.
person
Mofi
schedule
24.04.2016