Домой /  Интернет / Скачать описание. Архиватор WinRAR. Zip. Скачать описание Параметры winrar

Скачать описание. Архиватор WinRAR. Zip. Скачать описание Параметры winrar

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

Программы-архиваторы, работающие под 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 которые известны как лучшие по набору функций, предоставляемых пользователю, степени сжатия и скорости работы.

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

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, а некоторые к архивам всех поддерживаемых форматов. Это зависит от возможностей, заложенных в формат архива.

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

  • Вступление
  • Как будет работать бэкап
  • Скрипты
  • Командная строка 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 .

Заключение

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

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

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, а некоторые — к архивам всех поддерживаемых форматов. Это зависит от возможностей, заложенных в формат архива.

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

На одном сервере нужно было настроить бекапчик. На линуксе через 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.