Как создать архив 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?

  1. Запустите WinRAR.
  2. Нажмите в меню Справка по темам справки.
  3. Нажмите на вкладку Содержание элемента списка Режим командной строки.
  4. Щелкните элемент списка Синтаксис командной строки, прочитайте эту страницу справки и скопируйте жирную строку в текстовый редактор или в окно командной строки.
  5. Перейдите на вкладку " Содержание" в пункте " Команды".
  6. Нажмите на элемент списка Алфавитный список команд и замените <command> в текстовом редакторе или окне командной строки по наиболее подходящей командной букве для задачи.
  7. Перейдите на вкладку " Содержимое" в пункте " Переключатели".
  8. Нажмите на элемент списка Алфавитный список переключателей и замените -<switch1> -<switchN> в текстовом редакторе или окне командной строки теми переключателями, которые полезны для задачи.
  9. Замените оставшуюся часть командной строки WinRAR в текстовом редакторе или окне командной строки соответствующими именами файлов и / или папок.

Как построить командную строку RAR?

  1. Откройте папку, содержащую программные файлы WinRAR.
    Стандартные папки:
    %ProgramFiles%\WinRAR
    %ProgramFiles(x86)%\WinRAR
  2. Двойной клик по файлу Rar.txt чтобы открыть это. Это руководство для Rar.exe консольная версия WinRAR.
  3. В главе Синтаксис командной строки RAR описан общий синтаксис командной строки, который следует использовать в качестве шаблона для ввода команды в текстовом редакторе или в окне командной строки.
  4. Далее доступные команды перечислены в алфавитном порядке с кратким описанием. Одна из этих команд должна использоваться для командной строки Rar.
  5. Далее следует список переключателей, также в алфавитном порядке и также объясненный. Желательно прочитать о переключателях и во время чтения набрать полезные переключатели для задачи в текстовом редакторе или в окне командной строки.
  6. Введите остальную часть командной строки 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 /?
Другие вопросы по тегам