2016-08-05 4 views
2

Я пытаюсь сжать SQL сервера резервного копирования (.bak) файлов с помощью WinRAR команды из командной строки. Вот команда, я использую:Winrar командной строки сжимать отдельные файлы с датой в названии в зависимости от текущей даты

def fileType = "*.bak" 

"cmd /c \"${rarCmd}\" a ${rarName} ${parameters} ${sourceDir} ${fileType}".execute() 

У меня есть эти файлы в моей папке:

Basket_backup_2014_07_30_010007.bak 
Basket_backup_2016_07_31_010007.bak 
Basket_backup_2016_08_05_010006.bak 
Basket_backup_2016_08_05_010007.bak 

Я только хочу, чтобы сжать файлы, которые создаются сегодня. Итак, как мне изменить переменную fileType, чтобы сжать файлы, содержащие 2016_08_05 в их именах?

ответ

1

Start WinRAR и нажмите в меню Помощь на пункт меню разделов справки. На вкладке Содержание открыт пункт списка Режим строки Command и нажмите сначала на Синтаксис командной строки и вы увидите на открывшейся странице справки:

WinRAR < команды > - <switch1> - <switchN> < архивы > <...> < @listfiles ... > < path_to_extract \ >

Теперь давайте сравним эту строку с кодом строки:

"${rarCmd}" a ${rarName} ${parameters} ${sourceDir} ${fileType} 

Существует, очевидно, уже ошибка в коде указать после команды первого имени файла архива, а затем переключатели вместо сначала а затем - имя файла архива.

И не должно быть места между ${sourceDir} и ${fileType}, но символ обратной косой черты.

Затем откройте в содержание списка подсписке переключатели и нажмите на алфавитный список переключателей. Создайте свой parameters, используя этот список, читая его сверху вниз. Наиболее интересные переключатели для вас, скорее всего,

-cfg- -ep1 -ibck -inul -m5 -r- -tl -tn23h -y -- 

-tn23h означает дата последнего изменения файла в течение последних 23 часов (время файла новее текущее время минус 23 часов). Вы также можете использовать -tn1d для файла, последнего изменения в течение 1 дня.

В случае использования консоли версии Rar.exe вместо GUI версии WinRAR.exe использовать текстовый файл Rar.txt в программе файлы папки WinRAR, как это руководство для консольной версии. Существуют разные переключатели между консолью и графическим интерфейсом.

+0

'-ta ' сделал трюк для меня. Благодарю. – ma3stro

0

Вы можете сделать:

def fileType = "*_${new Date().format('yyyy_MM_dd')}_*.bak"