Ключ rar exe разрешающий архивировать системные файлы. Создание архива в один клик, при помощи командной строки и архиватора WinRAR

Команды программы rar

http://kurs.ido.tpu.ru/courses/inform/tema7.html

Модуль 3. Программное обеспечение IBM PC - совместимых компьютеров

Тема 7 . Архивация файлов

Архивация файлов

Программы-архиваторы, работающие под Windows 9x

Архивация файлов При работе на персональном компьютере часто возникает необходимость долговременного хранения резервных копий файлов на дискетах. При копировании файлов их копии занимают столько же места, сколько занимают исходные файлы, поэтому может потребоваться много дискет. Для таких случаев созданы специальные программы-архиваторы . Эти программы производят сжатие, упаковку данных, что приводит к экономии места на 40-50%. Кроме того, при архивировании файлы можно объединять в один блок, называемый архивным файлом или просто архивом , что обычно делается при хранении групп совместно используемых файлов. После архивирования с полученными архивными файлами можно обращаться, как с любыми другими: копировать, удалять, переименовывать. Архивный файл содержит, кроме заархивированных файлов, также их список (оглавление архива) и контрольные коды каждого файла для проверки целостности архива.

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

Введём понятие “базового” каталога . “Базовым” будем называть каталог (папку), в котором содержатся файлы, подлежащие архивированию или в который должны быть помещены файлы после распаковки архива.

Все файлы, содержащиеся в базовом каталоге (папке), а также, если это необходимо и если дан соответствующий формат команды, и в его подкаталогах, при архивировании преобразуются в один архивный файл или могут быть добавлены к уже существующему архивному файлу. При разархивировании архивного файла все содержащиеся в нём файлы помещаются в базовый каталог, при этом, если необходимо, в нём могут быть автоматически созданы требуемые подкаталоги.

“По умолчанию” в архив заносятся все файлы из указанного каталога. Если же нужно внести в архив только часть из них, используется явное указание имени файла или списка имён. В этом случае разрешается использовать шаблоны MS-DOS для указания группы файлов.

Современные программы-архиваторы должны выполнять следующие основные функции:

    создавать архивные файлы из отдельных или всех файлов базового каталога и его подкаталогов;

    добавлять и заменять файлы в архиве;

    извлекать и удалять файлы из архива;

    просматривать содержимое архива;

    защищать каждый из помещённых в архив файлов кодом;

    создавать многотомный архив, т.е. архив, состоящий из нескольких файлов, которые будут располагаться на разных дискетах (для обозначения носителей информации - отдельных дискет - принято употреблять термин “том ”);

    тестировать архив, проверяя сохранность в нём информации;

    вводить в архив комментарии к файлам;

    запоминать в архиве пути к файлам;

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

    просматривать содержимое текстовых файлов, содержащихся в архиве;

    сохранять в архиве несколько версий одного и того же файла;

    восстанавливать файлы из разрушенных архивов;

    обеспечивать защиту информации в архиве и доступ к файлам, помещённым в архив, по паролю.

Программы-архиваторы работают отдельно под MS-DOS и под Windows 9x.

Программы-архиваторы, работающие под MS-DOS

В настоящее время их количество в мире насчитывает несколько десятков, наиболее распространённые приведены в табл.1

Таблица 1

Название программы

Краткая характеристика программы

Создана в 1993 г. Робертом К. Янгом (США). Данная программа является эталоном программ-архиваторов.

Создана в 1994 г. Евгением Рошалем (г. Екатеринбург, Россия). Единственная в мире программа, содержащая в себе встроенную оболочку подобно Norton Commander. Кроме того, при наличии на диске соответствующих архиваторов, обрабатывает архивы многих распространённых форматов.

Пакет программ ZIP

Cодержит архиватор PKZIP.EXE и разархиватор PKUNZIP.EXE. Очень хорош при сжатии графической информации. Создан в 1993 г. фирмой PKWARE Inc. (США).

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

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

Для правильной записи команды вызова нужной программы-архиватора надо воспользоваться текстом-подсказкой. Информация текста-подсказки обычно выводится на английском языке и содержит примеры составления команд для выполнения различных операций. Примеры вызова текста-подсказки программ-архиваторов, приведённых в табл.1 (для наглядности команды записаны прописными символами):

1. Для программы-архиватора arj.exe :

ARJ.EXE /? ,

2. Для программы-архиватора rar.exe :

RAR.EXE /? ,

где /? – параметр для получения полной подсказки.

3. Для программы-архиватора pkzip.exe :

PKZIP.EXE /h .

Для программы-разархиватора pkunzip.exe :

PKUNZIP.EXE /h ,

где /h – параметр для получения полной подсказки.

В подсказке указывается синтаксис командной строки MS-DOS, список команд и опций, доступных в данной программе.

Синтаксис командной строки MS-DOS программ-архиваторов :

< имя программы - архиватора><команда> [ опция... ]< имя архивного файла> [ <имена файлов >]

где <имя программы - архиватора > - имя запускаемой программы-архиватора или программы-разархиватора;

< команда > - символ, указывающий архиватору, какая из операций требуется в данном случае;

[ опция ...] - опция настройки, которую называют также “расширением” или “ключом” команды и состоящей из одного или нескольких символов, которым предшествует либо символ “/ ”, либо символ “- ”. В команде может быть несколько опций, записанных через пробел после символа команды;

<имя архивного файла > - задаётся обрабатываемый архивный файл с расширением соответствующей программы-архиватора, например: .arj, .rar, .zip ;

<имена файлов > - задаются имена файлов, которые включаются в архивный файл. Имена файлов перечисляются через пробел. Если имена файлов отсутствуют, то обрабатываются все файлы текущего подкаталога.

Параметры, заключённые в квадратные скобки, являются необязательными. Так, опции и список архивируемых файлов являются необязательными параметрами и используются не всегда. В некоторых случаях может быть не указана и команда, тогда операция считается заданной по умолчанию.

Рассмотрим особенности программ-архиваторов ARJ, RAR, PKZIP и PKUNZIP которые известны как лучшие по набору функций, предоставляемых пользователю, степени сжатия и скорости работы.

Программа-архиватор ARJ.EXE

Синтаксис командной строки:

ARJ < команда > [ опция... ] < имя архивного файла> [ <cписок имен файлов >] .

Некоторые, часто используемые команды программы ARJ, приведены ниже:

A - свернуть или добавить файлы в архив;

M - переместить файлы в архив;

F - добавить в архив только новые файлы;

E - извлечь файлы из архива в текущий каталог;

D - удалить файлы из архива;

X - извлечь файлы из архива с восстановлением структуры подкаталогов;

V - просмотреть оглавление файлов в архиве.

Из всего перечня опций (ключей) приведём некоторые:

-je - опция для созданиясамораспаковывающегося архива;

-jm - опция для максимального сжатия;

-r - опция архивации с сохранением маршрутов имён файлов;

-v1440 - опция разбиения на тома, причём, цифра 1440 указывает размер дискет по 1,44 Мбайт.

Примеры команд использования программы ARJ.EXE (<имя архивного файла> зададим как BARBY.ARJ ):

    Свернуть в архив BARBY.ARJ (архивировать ) все файлы текущего каталога: ARJ.EXE A BARBY <Enter > .

    Свернуть в архив (архивировать) все файлы текущего каталога с разбиением архивного файла на тома по 1440 Кбайт:

ARJ.EXE A -r -v1440 -jm BARBY <Enter > ,

где r - опция архивации с сохранением маршрутов имён файлов;

v1440 - опция разбиения на тома по 1,44 Мбайт. При этом файлу, размещаемому на первом диске, присваивается расширение.ARJ, а на последующих дисках - .A01, A02 и т.д.;

jm - опция для максимального сжатия.

    BARBY.ARJ: ARJ.EXE V BARBY.ARJ .

    Извлечь (разархивировать ) все файлы из архива BARBY.ARJ в текущий каталог с восстановлением структуры подкаталогов: ARJ.EXE X BARBY.ARJ .

    Создать самораспаковывающийся архив BARBY.EXE: ARJ.EXE A -je BARBY , где - je - ключ для создания самораспаковывающегося архива с расширением .exe .

    Извлечь файлы из самораспаковывающегося архива BARBY.EXE: BARBY.EXE .

При разархивировании возможна ситуация, когда в текущем каталоге имеется файл с аналогичным именем. В этом случае на запрос программы: “Overwrite? (Переписать?)” - наберите на клавиатуре английскую букву Y (от английского Yes - Да) или N (от английского No - Нет) и нажмите <Enter >.

Программа-архиватор RAR.EXE Архиватор RAR создан как достаточно универсальное средство для создания и ведения архивов. Существует несколько версий RAR для разных операционных систем, в частности, RAR для MS-DOS, OS/2, Windows 9х (32-разрядный), Mac OS и Unix (Linux, BSD, SCO, Sparc и HP-UX ).

Отличительными особенностями архиватора являются:

    возможность работы в двух режимах: обычного интерфейса командной строки и полноэкранного интерактивного интерфейса;

    поддержка других типов архивов. В полноэкранном режиме RAR предоставляет возможность обработки архивов других типов: .ARJ, .ZIP ; при этом возможен просмотр содержимого этих архивов, их преобразования;

    использование высокоэффективного метода сжатия - solid – для получения высокой степени сжатия (на 10-50% выше, чем обычно).

Режим командной строки. Технология управления и перечень команд в режиме командной строки программы-архиватора RAR аналогичны рассмотренному выше архиватору ARJ. При этом имейте в виду, что значения опций отличаются для некоторых операций.

Синтаксис командной строки:

RAR<команда> [ опция... ]< имя архивного файла> [ <cписок имен файлов >] .

Примеры команд использования программы RAR.EXE (<имя архивного файла> зададим как BOB.RAR ):

    Свернуть в архив BOB.RAR (архивировать ) все файлы текущего каталога:

RAR.EXE A BOB .

    Просмотреть оглавление файлов в архиве BOB.RAR :

RAR.EXE V BOB.RAR .

    Извлечь (разархивировать ) все файлы из архива BOB.RAR в текущий каталог с восстановлением структуры подкаталогов:

RAR.EXE X BOB.RAR .

    Создать самораспаковывающийся архив BOB.EXE с разбиением архивного файла на тома по 1440 Кбайт:

RAR.EXE A -r -v1440 -sfx BOB ,

где -r - опция архивации с сохранением маршрутов имён файлов;

V1440 - опция разбиения на тома по 1,44 Мбайт. При этом файлу, размещаемому на первом диске, присваивается расширение.EXE, а на последующих дисках - .R00, R01, R02 и т.д.;

-sfx - опция для создания самораспаковывающегося архива с расширением .exe .

5. Извлечь файлы из самораспаковывающегося архива BOB.EXE:

BOB.EXE .

При разархивировании возможна ситуация, когда в текущем каталоге имеется файл с аналогичным именем. В этом случае на запрос программы: “Overwrite? (Переписать?)” - наберите на клавиатуре английскую букву Y (от английского Yes - Да) или N (от английского No - Нет) и нажмите <Enter >.

Полноэкранный режим работы. Для запуска RAR в полноэкранном режиме нужно набрать в командной строке без параметров:

RAR .

В полноэкранном интерфейсе RAR может находиться в двух режимах:

В режиме работы с файлами;

В режиме работы с архивным файлом .

Режим работы с файлами . После запуска RAR на экране появляется список файлов в текущем подкаталоге. По списку можно перемещаться с помощью клавиш управления курсором или мыши.

В правой части экрана выдаётся информация об используемой памяти, методе сжатия, присутствии пароля и режиме создания резервных копий.

Для выделения группы файлов используется приём, аналогичный в Norton Commander (возможна пометка подкаталогов, при этом помеченными считаются все файлы во всех подкаталогах внутри них):

    Нажатием клавиши вставки .

    Заданием маски выбора при нажатии клавиши <+> на функциональной клавиатуре.

Отмена выделения группы файлов как по маске, так и после нажатия клавиши вставки <Insert > осуществляется клавишей < - > на функциональной клавиатуре.

В табл.2 приведено соответствие назначения функциональных клавиш функциям командной строки в режиме работы с файлами.

Таблица 2

Функциональные клавиши в режиме работы с файлами

Функциональная клавиша

Назначение клавиши

Функция командной строки

Выполняемые действия

Help

Добавить файлы к архиву либо заархивировать выделенные файлы

Просмотреть текст файла

Обновить файлы в архиве

Создать архивные тома

Перенести файлы в архив

Обновить файлы в архиве

Удалить выделенные файлы

Выход из архиватора RAR

Для того чтобы заархивировать группу файлов, необходимо выполнить следующие действия:

    Выделить нужные файлы.

    - Add (добавить файлы к архиву).

На экране появится сообщение в рамке

В рамке RAR предлагает пользователю:

    либо записать в выделенной строке путь и полное имя архивного файла, т.е. указать изменённый подкаталог , а не текущий;

    либо воспользоваться предложенным вариантом (например, в текущий подкаталог TP60 под именем TP60.RAR). В этом случае достаточно нажать клавишу <Enter >.

Режим работы с архивным файлом . Для перехода в режим работы с архивным файлом необходимо установить маркер на нужный архивный файл (файл с расширением .RAR ) и нажать клавишу <Enter >.

На экран выводится список имён файлов в архиве. По списку можно перемещаться с помощью клавиш управления курсором или мыши.

В правой части экрана выдаётся информация о присутствии комментария, файлов с паролями, количестве, размере и степени сжатия файлов.

В табл.3 приведено соответствие назначения функциональных клавиш функциям командной строки в режиме работы с архивным файлом.

Для того чтобы разархивировать архивный файл, необходимо выполнить следующие действия:

    Выделить нужные файлы либо перевести указатель на нужный файл в списке имён файлов.

    Нажать функциональную клавишу - Extr (от английского Extract ) - извлечь файлы со всеми подкаталогами в текущий подкаталог, т.е. подкаталог, где находится архивный файл.

    При разархивировании возможен вариант, когда по месту разархивирования уже содержится файл (файлы) с аналогичным именем. В этом случае RAR делает запрос,

Информация, выданная на английском языке, переводится следующим образом:

File already exists - файл уже существует;

Overwrite T1.PAS ? - переписать старый файл, например, T1.PAS?;

Yes - да;

No - нет;

All - переписать все старые файлы;

Rename - переименовать файл;

Quit - прекратить операцию разархивирования.

Клавишами "Влево", "Вправо" установить указатель на выбранный вариант и нажать клавишу <Ente r>.

Таблица 3

Функциональные клавиши в режиме работы с архивным файлом

Функциональная клавиша

Назначение клавиши

Функция командной строки

Выполняемые действия

Вывод на экран справочной информации

Тестировать архив

Просмотреть файл

Извлечь файлы со всеми подкаталогами (разархивировать )

Добавить комментарий к архиву

Извлечь файлы в текущий подкаталог

Преобразовать архив в самораспаковывающийся (SFX)

Удалить файлы из архива

Возврат в режим работы с файлами

Синтаксис командной строки

WinRAR допускает управление из командной строки. Общий синтаксис командной строки таков:

WinRAR <команда> -<ключ1> -<ключN> <архив> <файлы> <@файл-список> <путь для извлечения\>

команда Комбинация символов, определяющая действие, которое будет выполнять WinRAR.
ключ Ключи используются для определения специфических действий, степени сжатия, типа архива и пр.
архив Имя обрабатываемого архива.
файлы Имена обрабатываемых файлов.
файл-список Файлы-списки - это обычные текстовые файлы, содержащие имена файлов для обработки. Каждое имя файла должно быть указано на отдельной строке и начинаться с первой позиции строки. В файл-список допускается помещать комментарии, признак начала комментария - символы //. Например, для архивирования файлов *.txt из папки c:\work\doc, файлов *.bmp из папки c:\work\image и всех файлов из папки c:\work\misc можно создать backup.lst, содержащий следующие строки:

c:\work\doc\*.txt//резервная копия текстов

c:\work\image\*.bmp//резервная копия рисунков

После этого для архивирования достаточно будет выполнить команду:

winrar a backup @backup.lst

В одной командной строке разрешается указывать как обычные имена или группы файлов для обработки, так и файлы-списки. Если не указаны ни файлы, ни файлы-списки, то подразумевается шаблон *.* (т.е. WinRAR обработает все файлы).

путь для извлечения Используется только с командами e и x и указывает папку, в которую нужно извлекать файлы. Если эта папка не существует, то она будет создана.

Примечания

а) Если не указаны ни файлы , ни файл-список , то подразумевается шаблон *.* , т.е. WinRAR обработает все файлы.

б) Если не указано расширение архива, то WinRAR будет использовать формат архива по умолчанию, выбранный в профиле архивации по умолчанию, но если вы хотите указать тип архива явно, то это можно сделать добавлением к имени архива расширения RAR или ZIP.

в) Ключи, введённые в командной строке, имеют более высокий приоритет, чем соответствующие установки в диалоге конфигурации, т.е. используются параметры, заданные ключами.

г) Для команд C , E , S , T , RR , K и X в имени архива допускается использовать шаблоны, поэтому одной командой можно обработать сразу нескольких архивов. Более того, если вместе с этими командами указать ключ , то поиск архивов будет вестись и во всех вложенных папках.

д) Некоторые команды и ключи применимы только к архивам RAR, некоторые к архивам RAR и ZIP, а некоторые к архивам всех поддерживаемых форматов. Это зависит от возможностей, заложенных в формат архива.

е) Команды и ключи не зависят от регистра символов, поэтому вы можете набирать их как строчными, так и прописными буквами.

Общее описание

Метод основан на сочетании возможностей Windows (назначенные задания) и архиватора WinRAR (управление из командной строки), WinRAR потребуется «необрезанный».

Настройки «Назначенного Задания» позволят установить:

  • -Каким образом будет запускаться задание: при включении компьютера, по графику, вручную.
  • -Из какого режима работы компьютера будет запускаться задание: из рабочего или спящего.
  • -Дополнительные настройки для ноутов и прочего антиквариата ПК.

Настройки WinRAR позволят: указать адрес архива, каталоги/файлы/списки для архивации. Уточнить состав архива по принципам: расширения файлов, время создания, наличие/отсутствие в архиве, «освежить» архив (обновить только файлы, которые в архиве есть), добавить файлы, вновь появившиеся по архивируемому адресу, удалить те, которые «пропали», впрочем, о возможностях WinRAR позже на примерах.

ВНИМАНИЕ! Если в настройках Winrar не указаны каталоги/файлы/списки для архивации, а указан только адрес архива: WinRAR займётся архивацией всей системы, и всего того, что доступно системе в данный момент. Это может привести к «нехорошему».

Проверено для : Windows 2000/2000 Server/XP/Server 2003/Windows 7/Server 2008.

Настройки на примерах

Описание по принципу: цель – способ решения, отклонения не описываю, только краткая справка в скобках. Уверен, на основе примеров Вы сможете составить именно Ваше задание. Итак:

ЦЕЛЬ : 1 раз в неделю архивировать все БД 1с, лежащие в одном каталоге. Задание должно добавлять в архив новое, удалять отсутствующее, статичные (неизменённые) файлы не трогать: обрабатываться будут только файлы: вновь созданные, изменённые, удалённые. На «автоматике» это будет выглядеть так:

Создаём в Windows новое "назначенное задание". Запускается мастер. Предлагает выбрать программу. Естественно, выбираем WinRAR . Пишем имя Задания, когда ему выполняться. Пошагово заполняем..., включите «Установить дополнительные…».

Что? Пишет, что работать не будет? Поэтому: открываем наше задание (входим в Панель Управления - Назначенные Задания), включаем флаг «Выполнять только при выполненном входе в систему», переходим на закладку «Параметры» и включаем «Разбудить комп…». Это надо для того, чтобы компьютер, оставленный в спящем режиме, «проснулся» для выполнения задания. Для запуска в назначенное время "разрешаем" компу использовать Спящий режим. Если по графику задание должно запуститься, к примеру, ночью, вечером перед этим комп не выключаем, а переводим в спящий режим. В нужный момент комп проснётся, выполнит, а может и выключиться после завершения, такая возможность есть в настройках WinRAR.

Итак, настраиваем WinRAR . Открываем задание, в первой строке «Выполнить» видим примерно:

C:\PROGRA~1\WinRAR\WinRAR.exe

Это полный путь запускаемой программы. Слово WinRAR может заменить эту строку, т.к. для Windows это УЖЕ команда.

WinRAR – заменитель.

В этом состоянии наше задание работоспособно, но оно только запустит программу WinRAR . Теперь настройки.

Настройки пишутся в параметре «Выполнить» после уже имеющегося (C:\PROGRA~1\WinRAR\WinRAR.exe) через пробел.

Общий синтаксис командной строки:

WinRAR – – //в этом примере «

Что требуется для нашего задания:

WinRAR u - as F :\ Arhiv \ Data _1 C . rar D :\ Data _1 C //выделил цветом сегменты строки. По цвету и комментарии.

u – команда. Обновляет файлы в архиве, обрабатывает только изменённые и добавляет новые.

-as – ключ. Удаляет из архива файлы, отсутствующие в источнике.

Таким образом, комбинация команды и ключа синхронизирует архив с исходными данными.

F :\ Arhiv \ Data _1 C . rar – это наш архив с адресом. Архив, хоть пустой, уже должен быть по указанному адресу.

D :\ Data _1 C – архивируемые данные. В данном случае – каталог.

ИТАК, порядок: команда – ключ/ключи – архив – файлы/@файл-список. Разделитель «_» (пробел).

В дальнейшем повторяться не буду. Только комментировать отличия.

ЦЕЛЬ : архивировать ценные данные (документы, избранное и пр.) ежедневно. Чтобы процесс не отвлекал, включает и выключает комп на автомате, добавлены 2 новых ключа. Отличие от 1-го задания в том, что данные находятся в разных каталогах. Придётся использовать файл-список. Файл-список – это текстовый файл, в котором:

-первая запись начинается с первого символа первой строки

-последующие записи начинаются с новой строки

-ни каких лишних символов, комментариев и пр.

Если указываете вместо адреса данных файл-список, учтите, в этом случае параметр (адрес файла) начинается с символа @ (собака).

В файл-список можно включать файлы, каталоги, выбрать файлы по расширению и пр.

Нам потребуется строка:

WinRAR u - as dh IOFF F :\ Arhiv \ Doc . rar @ C :\ SpisokArh . txt

-dh – позволяет архивировать открытые в данный момент файлы. Включил потому, что частенько компьютер отправляю в «спячку» с открытыми документами и программами (кроме 1с). При этом самое плохое – в архив пойдёт и несохранённая копия файла. А это не критично, т.к. при открытии такого архива компьютер «вспомнит» о несохранённых версиях. Что с ними делать – Ваше дело.

-IOFF – выключение компьютера после завершения архивации. Т.о., компьютер это делает совершенно самостоятельно. Одно НО: именно ВЫКЛЮЧЕНИЕ, а не переход в спящий режим. В связи с этим рассчитывайте размещение заданий во времени, если у Вас несколько заданий на ночь, используйте этот ключ только на последнем задании, да так, что-бы этот ключ не "тормознул" другие задания, которые не успели завершиться.

@ C :\ SpisokArh . txt – файл-список. Вот его текст :

C:\Documents and Settings\Admin\Избранное

C:\Documents and Settings\Admin\Рабочий стол\Закачки

Не буду описывать все вариации, которые использую, думаю, у Вас фантазии на большее хватит, я лишь намекнул. Читайте справку WinRAR , там полные списки ключей и команд, рекомендации по использованию.

Дополнительно

  • WinRAR способен архивировать открытые в данный момент файлы (читай: открытые БД 1С), но! Если архивировать БД «на ходу» может получиться такое… 1с-ка во время архивации БД может изменить файлы, в архиве БД получится, что файлы *. dbf не согласованы. Отсюда правило: на момент архивации все архивируемые данные (1 C ) должны быть закрыты. Для прочих (MS Office ) не актуально.
  • Новый архив автоматически не создаётся! Необходимо указывать уже имеющийся, хоть пустой.
  • При заполнении нового архива процедура может затянуться на…, потом всё будет работать в соответствии с заданными параметрами.

P . S .: Извиняюсь за скудность примеров: описал только самое наглядное. Дальше – дело Ваших потребностей и фантазии. Читайте справку WinRAR, раздел "Режим командной строки".

На одном сервере нужно было настроить бекапчик. На линуксе через cron все делается, а на windows с помощью Планировщика задач . Так вот задача — добавить папку в архив rar или zip через bat-файл (батник). Можно также с помощью cmd выполнять, кому как удобно. Я решил написать простой bat для вызова winrar, добавления папки в архив и помещения ее в нужное место. Потом в планировщике выполняю этот скрипт с заданым интервалом.

Как создать bat файл и заархивировать папку в rar

Сначала хочу сказать, что добавить папку в архив можно абсолютно любого расширения — rar, zip и другие поддерживаемые WinRAR-ом. А теперь по пунктам:

1) открываем любой блокнот (лучше всего notepad++);
2) пишем туда команду: start WinRAR A «D:\kudaarhiv.rar» «D:\Program Files\bdseoru»
3) сохраняем как *.bat (например, v_archive.bat).

Как заархивировать папку rar с помощью bat

Разьясню:
1 — запускаем winrar. Команда start запускает любую программу. Если не срабатывает, пропишите полный путь к.exe-шнику.
2 — команда A добавляет файлы в архив. Подробнее читайте справочник от самого winrar.
3 — куда архивируем папку и файлы. Указывайте полный путь , название архива и расширение.
4 — какую папку архивируем. Пишем полный путь.

Все, теперь запускаем и проверям. Если сработало — то в Планировщик.

Пробел в названии — не могу запустить bat

Если у вас есть в названии папки и файла пробелы, то заключите этот путь в кавычки , как это сделал я. Тогда все отлично работает.

Если не написать start

Тогда просто будет выдавать ошибку, что неизвестная команда. Без start можно выполнить команду в cmd

Как заархивировать папку в rar через cmd

Папку можно добавить в архив и с помощью простой команды в cmd:
WinRAR A «D:\android-locat\Vega.rar» «D:\Program Files\bdseoru»


Как видите, тут уже «запускать» winrar отдельной командой start не нужно.

Как добавить в архив вложенные папки и файлы

Чтобы добавить в архив.rar или.zip вложенные папки и файлы, следует добавить ключ -r. То есть команда будет выглядеть следующим образом:
WinRAR A -r «D:\android-locat\Vega.rar» «D:\Program Files\bdseoru»

Как удалить файлы после архивации в winrar

Очень часто также возникает нужда удалить заархивированные файлы и папки. Для этого нужно добавить команду -ep1. Пример кода:
WinRAR A -r -ep1 «D:\android-locat\Vega.rar» «D:\Program Files\bdseoru»

То есть мы архивируем папку, обрабатываем вложенные папки и файлы, а после этого их удаляем. Если архив ложиться в эту папку, то он не удалиться, а появится ошибка, что папка не пустая. Поэтому лучше сохранять архив в другую папку (лучше просто убирать последний слеш).

Более подробно читайте на официальном сайте команды winrar.

  • Вступление
  • Как будет работать бэкап
  • Скрипты
  • Командная строка WinRAR
  • Командные файлы
  • Планировщик
  • Заключение
  • Ссылки

Вступление

Бэкапы надо делать всегда. Особенно для серверов. Это аксиома. Существуют разные способы бэкапа - просто копирование, архивация, множество специализированного софта (в том числе, например, и штатный бэкап от Microsoft), работающего с дисками, лентами, МО и т.д. Но что делать, если сторонний софт устанавливать нельзя, а возможностей штатного не хватает? Например, хочется иметь бэкап некоторых ценных папок сервера, в автоматическом режиме, за, скажем, последнюю неделю? Писать свою софтину? Можно. Но не охота. Из пушки по воробьям. Охота обойтись просто скриптом. И в этом нам поможет хороший архиватор WinRAR , встроенный планировщик Windows и книга Джесси Торреса "Скрипты для администратора Windows ".

Как будет работать бэкап

Итак, мне требуется:

  • Хранить бэкап за каждый день в виде архивного файла
  • Каждый файл должен создаваться с уникальным именем (в идеале включать дату создания в имя файла)
  • Процесс создания бэкапа должен проходить в автоматическом режиме
  • Файлы старше 1 недели должны автоматически удаляться

Архивацией будет заниматься WinRAR , он же будет автоматически именовать файлы. Определять возраст и удалять старые файлы будет скрипт (VBScript ), а автоматизировать все я буду с помощью встроенного Планировщика Windows .

Скрипты

Основу скриптов составляют процедуры из книги Джесси Торреса "Скрипты для администратора Windows " (а конкретно из главы 3 "Обслуживание файлов "). Они были дополнены мной для реализации моих задач.
Вот какие функции нам понадобятся (привожу код целиком):

" ---------- " Начало основной секции. Отсюда начнется выполнение при запуске скрипта. Set FSO = CreateObject("Scripting.FileSystemObject") " директория, где будут храниться бэкапы. Вы должны вписать свою директорию " вместо "X:\DailyBackup" sDir = "X:\DailyBackup" Set objDir = GetFolder(sDir) DeleteOlderFiles(objDir) " ---------- Секция функций " Получить файл Function GetFile(sFile) On Error Resume Next Set FSO = CreateObject("Scripting.FileSystemObject") Set GetFile = FSO.GetFile(sFile) if err.number 0 then WScript.Echo "Error Opening file " & sFile & VBlf & "["&Err.Description&"]" Wscript.Quit Err.number end if End Function " Получить папку Function GetFolder (sFolder) On Error Resume Next Set GetFolder = FSO.GetFolder(sFolder) if err.number 0 then WScript.Echo "Error Opening folder " & sFolder & VBlf & "["&Err.Description&"]" Wscript.Quit Err.number end if End Function " удалить один файл (имя файла передается в sFile) Sub DeleteFile(sFile) On Error Resume Next FSO.DeleteFile sFile, True if err.number 0 then WScript.Echo "Error Deleteing file " & sFile & VBlf & "["&Err.Description&"]" Wscript.Quit Err.number end if End Sub " Удалить файлы старше 7 дней Sub DeleteOlderFiles(objDir) " просматриваем все файлы в директории for each efile in objDir.Files " используем DateLastModified, а не DateCreated, поскольку " DateCreated не всегда возвращает правильную дату FileDate = efile.DateLastModified Age = DateDiff("d",Now,FileDate) " в данном случае возраст файла не больше семи дней If Abs(Age)>7 Then DeleteFile(efile) End If next End Sub

Этот код помещаем в файл remove_old_backups.vbs .

Командная строка WinRAR

Архиватор WinRAR обладает мощной поддержкой командной строки. В частности, он может формировать имя файла на основе пользовательского шаблона, включая в него разную служебную информацию, например, дату. Что нам, собственно говоря, и требуется. Кроме того, он умеет работать со списком файлов или директорий на архивацию, что сильно облегчает редактирование командного файла.

Я использую следующую командную строку для архивирования (прописана в файле make_daily.bat):

"c:\program files\winrar\winrar.exe" a -s -r -rr10p -dh -ed -m3 -ilogC:\DailyBackupScript\dailybackup.log -ag+YYYYMMDD X:\DailyBackup\backup

Разберем ее по составляющим:

  • "c:\program files\winrar\winrar.exe" - путь к WinRAR-у
  • a - команда на добавление файлов
  • -s - режим сжатия "solid "
  • -r - с поддиректориями
  • -rr10p - на всякий случай добавляем информацию для восстановления (-rr), в количестве 10% (10p)
  • -dh - открывать шареные фалы. Полезно, если кто-нибудь засиделся до 12 ночи, и редактирует файл, который должен уйти в бэкап
  • -ed - не добавлять пустые директории
  • -m3 - степень сжатия 3
  • -ilogC:\DailyBackupScript\dailybackup.log - вести лог (-ilog) и записывать его в "C:\DailyBackupScript\dailybackup.log"
  • -ag+YYYYMMDD X:\DailyBackup\backup - формировать имя файла, прибавляя в начало текущий год, месяц и число. Имя файла будет иметь примерно такой вид: 20060927backup.rar
  • X:\DailyBackup\backup - папка, куда писать бэкапы и имя бэкапа (к которому в начало дописываются год, месяц, число)

Командные файлы

Вся работа по созданию бэкапа строится на основе командных файлов (.bat-файлов). У меня их два:

  • make_daily.bat - содержит команды для создания архивного файла или файлов.
  • backup_task.bat - выполняет следующие действия:
    • вызывает интерпретатор скриптов cscript и передают ему на выполнение скрипт, удаляющий старые файлы.
    • вызывает make_daily.bat и передает ему в качестве параметра либо папку, которую надо архивировать, либо файл-список (в котором несколько папок на архивацию).
  • В свою очередь, backup_task.bat вызывается Планировщиком Windows в назначенное время

Содержимое файла make_daily.bat (в одну строку):

@"c:\program files\winrar\winrar.exe" a -s -r -rr10p -dh -ed -m3 -ilogC:\DailyBackupScript\dailybackup.log -ag+YYYYMMDD X:\DailyBackup\backup %1

Содержимое файла backup_task.bat :

@cscript remove_old_backups.vbs call make_daily.bat @backup.lst

Для работы также необходимо создать файл backup.lst (обычный текстовый файл). Он должен содержать список директорий, которые включаются в бэкап. Каждая директория должна располагаться на отдельной строчке, например, так:

C:\Projects c:\VeryImportantProjects c:\Folder Name With Spaces\SubFolder

Обратите внимание, что имя директории-источника, содержащее пробелы, не обязательно заключать в кавычки, если вы пользуетесь файл-списком. Если же вы передаёте его напрямую, то кавычки обязательны. Не ставьте завершающий слэш - WinRAR этого не поймёт.

Планировщик

Планировщик можно вызвать через меню Start|Programs|Accessories|System Tools|Scheduled Tasks , или через Control Panel . Откроется папка Scheduled Tasks , в которую и надо добавить новую задачу. Это можно сделать следующим образом (я привожу только основные шаги).

Дважды щелкаем Add Scheduled Task, чтобы добавить новую задачу

Выберем наш bat-файл:

Зададим имя и периодичность задачи

Зададим время запуска

Зададим учетную запись и пароль, от имени которой будет выполняться задача. Обязательно!

Задача добавлена

Редактировать свойства задачи можно, щелкнув правой кнопкой мыши на иконке задачи в папке Sheduled Tasks и выбрав пункт меню Properties .

Заключение

Вот мы и создали простейший, но мощный:) "бэкапер" (или бэкапщик? как правильно?) из подручных средств. Его можно расширять и настраивать, менять архиваторы, прикручивать всякие проверки и т.д. И все это без использования сторонних продуктов и почти без программирования.
Надеюсь, мой опыт окажется для вас полезным.