Как создать архив RAR с текущей датой в имени файла архива?
У меня есть папка D:\data
с большим количеством подпапок и файлов, и я хочу заархивировать эту папку с командным файлом в указанный каталог с текущей датой, добавленной в имя файла архива, например F:\11.08.2016_data
,
Моя командная строка так далеко:
"C:\Program Files\WinRAR\rar.exe" a -ep1 -r "data" "D:\data"
Эта командная строка создает архив RAR data.rar
в папке My Documents
,
Как я могу добавить дату и изменить каталог архивации?
1 ответ
Как построить командную строку WinRAR?
- Запустите WinRAR.
- Нажмите в меню Справка по темам справки.
- Нажмите на вкладку Содержание элемента списка Режим командной строки.
- Щелкните элемент списка Синтаксис командной строки, прочитайте эту страницу справки и скопируйте жирную строку в текстовый редактор или в окно командной строки.
- Перейдите на вкладку " Содержание" в пункте " Команды".
- Нажмите на элемент списка Алфавитный список команд и замените
<command>
в текстовом редакторе или окне командной строки по наиболее подходящей командной букве для задачи. - Перейдите на вкладку " Содержимое" в пункте " Переключатели".
- Нажмите на элемент списка Алфавитный список переключателей и замените
-<switch1> -<switchN>
в текстовом редакторе или окне командной строки теми переключателями, которые полезны для задачи. - Замените оставшуюся часть командной строки WinRAR в текстовом редакторе или окне командной строки соответствующими именами файлов и / или папок.
Как построить командную строку RAR?
- Откройте папку, содержащую программные файлы WinRAR.
Стандартные папки:%ProgramFiles%\WinRAR
%ProgramFiles(x86)%\WinRAR
- Двойной клик по файлу
Rar.txt
чтобы открыть это. Это руководство дляRar.exe
консольная версия WinRAR. - В главе Синтаксис командной строки RAR описан общий синтаксис командной строки, который следует использовать в качестве шаблона для ввода команды в текстовом редакторе или в окне командной строки.
- Далее доступные команды перечислены в алфавитном порядке с кратким описанием. Одна из этих команд должна использоваться для командной строки Rar.
- Далее следует список переключателей, также в алфавитном порядке и также объясненный. Желательно прочитать о переключателях и во время чтения набрать полезные переключатели для задачи в текстовом редакторе или в окне командной строки.
- Введите остальную часть командной строки Rar в текстовом редакторе или окне командной строки, то есть имена файлов и папок.
Подходящей командной строкой Rar для вашей задачи будет:
"%ProgramFiles%\WinRAR\rar.exe" a -agYYYY-MM-DD -cfg- -ep1 -inul -m5 -r -y "F:\data_.rar" "D:\data\"
Переключатель -agYYYY-MM-DD
отвечает за создание в каталоге F:\
архивные файлы, например, с именем data_2016-08-11.rar
,
Конечно, также можно использовать
"%ProgramFiles%\WinRAR\rar.exe" a -agDD.MM.YYYY -cfg- -ep1 -inul -m5 -r -y "F:\data_.rar" "D:\data\"
создать в F:\
архивные файлы с именем data_11.08.2016.rar
, Но это не рекомендуется, поскольку международный формат даты YYYY-MM-DD
Преимущество заключается в том, что файлы, перечисленные в алфавитном порядке по имени, автоматически также отображаются по дате, что не относится к формату даты DD.MM.YYYY
,
Смотрите ответ на Просто сжать 1 папку в пакете с командной строкой WinRAR? за разницу при уточнении D:\data
или же D:\data\
в командной строке RAR.
Для строки даты осталось data
разделенный подчеркиванием в имени файла архива, необходимо использовать пакетный файл, который дополнительно переименовывает созданный файл архива RAR с помощью команды REN.
@echo off
setlocal EnableDelayedExpansion
"%ProgramFiles%\WinRAR\rar.exe" a -agYYYY-MM-DD -cfg- -ep1 -inul -m5 -r -y "F:\data_.rar" "D:\data\"
for %%I in (F:\data_*.rar) do (
set "RarFileName=%%~nI"
set "NewFileName=!RarFileName:~5!_data"
ren "%%~fI" "!NewFileName!%%~xI"
)
endlocal
Чтобы понять используемые команды в приведенном выше пакетном коде и понять, как они работают, откройте окно командной строки, выполните там следующие команды и полностью прочитайте все страницы справки, отображаемые для каждой команды.
echo /?
endlocal /?
for /?
ren /?
set /?
setlocal /?