Потребовалось бэкапить флэшку на винчестер.
Для этого был написан bat-файл, который с помощью rar.exe создавал в указанной папке rar-архив. В качестве имени архива используется текущая дата.
backup.bat
@ECHO off
SET BACKUP="d:\backup\flashka"
SET NAME=%DATE%
if not exist %BACKUP% mkdir %BACKUP%
if not exist %BACKUP%\tmp mkdir %BACKUP%\tmp
%CD%progs\rar\rar.exe a -r -w%BACKUP%\tmp %BACKUP%\%NAME%.rar %CD%*.*
rem rmdir /s /q %BACKUP%\tmp
rem pause
Расшифрую строки:
@ECHO off - отключаю вывод всех команд
объявляем переменные:
SET BACKUP="d:\backup\flashka" - папка, в которую будем бэкапить
SET NAME=%DATE% - имя архива = дата
if not exist %BACKUP% mkdir %BACKUP% - если папка куда нужно складывать архивы не существует, то создадим ее
if not exist %BACKUP%\tmp mkdir %BACKUP%\tmp - если временная папка не существует, то создадим ее
%CD%progs\rar\rar.exe a -r -w%BACKUP%\tmp %BACKUP%\%NAME%.rar %CD%*.* - команда архивации
в которой:
%CD%progs\rar\rar.exe - указываем где лежит файл rar.exe. Я его положил на туже флэшку, взяв из Total Commander-a.
a - добавить файлы в архив
-r - рекурсивно. т.е. с учетом вложенных папок на флэшке
-w%BACKUP%\tmp - папка для временных файлов. Если этот ключ не указать, то временные файлы будут складывать на флэшку. Что ни есть гуд с точки зрения производительности и совсем не комильфо если на флэшке совсем не будет свободного места.
%BACKUP%\%NAME%.rar - имя архива и место его хранения
%CD%*.* - что бэкапить
rem rmdir /s /q %BACKUP%\tmp - если удалить rem (метку комментирования), то временный каталог будет удаляться
rem pause - если удалить rem (метку комментирования), то после создания архива "черное окошко" не закроется а будет ждать нажатия any key