Каждый добавляемый тип архива описывается в отдельной секции [Имя архива], используемый для имени типа архива. Далее следуют параметры:
ID=1a 4a 61 72 1b" - описывает идентификатор JAR-архива)
List="jar32 v -y" будет
сформирована команда: jar32 v -y имя_архива
^', то поиск подстроки ведется со второго
символа от начала текущей строки листинга.
^', то поиск подстроки ведется со второго
символа от начала текущей строки листинга.
| код | Описание |
|---|---|
| n | имя файла |
| . | remove trailing spaces from file name and append name with dot |
| z | размер файла |
| c | file description |
| p | упакованный размер файла |
| d | день |
| t | месяц |
| TTT | три буквы имени месяца (Jan, Feb, Mar, ...) |
| y | год |
| h | часы |
| H | hours modifier letter (a - a.m. time, p - p.m. time) |
| m | минуты |
| s | секунды |
| a | атрибуты файла |
| * | skip until first space or end of line |
| b | day of last access |
| v | month of last access |
| e | year of last access |
| x | hours of last access |
| l | minutes of last access |
| k | seconds of last access |
| j | day of creation |
| g | month of creation |
| f | year of creation |
| o | hours of creation |
| i | minutes of creation |
| u | seconds of creation |
| r | CRC (hex) |
| C | поле, описывающее главы (Chapters) |
| (<число>) | optional digits, some or all digits may be missing |
^', то поиск подстроки ведется со второго
символа от начала текущей строки листинга.
^', то поиск подстроки ведется со второго
символа от начала текущей строки листинга.
| Команда | Описание |
|---|---|
| Extract | распаковка |
| ExtractWithoutPath | распаковка без путей |
| Test | тестирование |
| Delete | удаление |
| Comment | архивный комментарий |
| CommentFiles | файловый комментарий |
| SFX | преобразование в SFX |
| Lock | запрет модификации |
| Protect | защита от повреждений |
| Recover | восстановление архива |
| Add | добавление файлов |
| Move | перенос файлов в архив |
| AddRecurse | добавление файлов и папок |
| MoveRecurse | перенос файлов и папок |
В качестве значений параметров FormatX, IgnoreStringX, Start, End можно использовать регулярные выражения с синтаксисом Perl5. Для использования этой возможности необходимо, чтобы соответствующее значение было корректным регулярным выражением, обрамленным прямыми слешами ('/') с необязательными буквенными флагами после заключительного слеша. Допустимы следующие флаги:
| Флаг | Описание |
|---|---|
i | игнорировать регистр символов |
x | использовать расширенный синтаксис (игнорировать пробелы в регулярном выражении) |
Для разбора регулярных выражений используется open-source библиотека PCRE (by Philip Hazel, copyright by the University of Cambridge, England).
При использовании регулярных выражений в параметрах FormatX для получения
информации из листинга используются именованные подстроки (вида (?P<name>\w+)).
Распознаются следующие названия полей:
| Поле | Описание |
|---|---|
| name | имя файла с относительным путем (пробельные символы в начале и конце строки игнорируются) |
| description | описание файла |
| size | размер распакованного файла в байтах (нецифровые символы в этом и других числовых полях игнорируются) |
| packedSize | размер запакованного файла в байтах |
| attr | атрибуты файла (A - архивный, R - только для чтения, S - системный, C - сжатый, H - спрятанный, D - директория) |
| cYear, cDay, cMonth, cHour, cMin, cSec | время создания файла |
| mYear, mDay, mMonth, mHour, mMin, mSec | время последнего изменения файла |
| mAMPM, mMonthA | расширенные поля для времени изменения файла |
| aYear, aDay, aMonth, aHour, aMin, aSec | время доступа к файлу |
| CRC | 32-битная контрольная сумма файла CRC |
Например, для разбора листинга:
Volume in drive D is work
Volume Serial Number is xxxx-xxxx
Directory of D:\works\MultiArc\final\Formats
15.11.2004 07:15 <DIR> .
15.11.2004 07:15 <DIR> ..
14.11.2004 00:46 5 632 Ace.fmt
14.11.2004 00:46 4 608 Arc.fmt
14.11.2004 00:46 6 656 Arj.fmt
14.11.2004 00:46 6 144 Cab.fmt
15.11.2004 06:07 56 832 Custom.fmt
15.11.2004 07:14 1 551 custom.ini-re
15.11.2004 07:11 54 344 Formats.jkr
14.11.2004 00:46 4 608 Ha.fmt
14.11.2004 00:46 6 144 Lzh.fmt
15.11.2004 07:15 0 out
14.11.2004 00:46 6 144 Rar.fmt
14.11.2004 00:46 9 216 TarGz.fmt
14.11.2004 00:46 6 656 Zip.fmt
13 File(s) 168 535 bytes
2 Dir(s) 37 840 883 712 bytes free
применяются следующие установки:
Start="/^ Directory of/" End="/File\(s\)/" Format0="/^(?P<cDay>\d+).(?P<cMonth>\d+).(?P<cYear>\d+)\s+ (?P<cHour>\d+):(?P<cMin>\d+)\s+(?P<packedSize>[\d\xff]+)\s(?P<name>.*?)\s*$/"
Строки:
Start="/^..reading directory/" End="/^..listing completed/" Format0="/^[^\|]*\|(?P<size>[^\|]+)\|(?P<attr>[^\|]+)\|\s+(?P<name>.*?)\s*$/" IgnoreString0="/^---- ---- ---- ----/"
могут использоваться для разбора листинга:
jkRes utility version 002
pack/unpack tool to work with jkRes resource bundles
..listing files from resource bundle
..reading directory...12 items found
---- ---- ---- ----
zlib | 5632 | A.... | Ace.fmt
zlib | 4608 | A.... | Arc.fmt
zlib | 6656 | A.... | Arj.fmt
zlib | 6144 | A.... | Cab.fmt
zlib | 56832 | A.... | Custom.fmt
zlib | 4608 | A.... | Ha.fmt
zlib | 6144 | A.... | Lzh.fmt
zlib | 6144 | A.... | Rar.fmt
zlib | 9216 | A.... | TarGz.fmt
zlib | 6656 | A.... | Zip.fmt
zlib | 13012 | A.... | Custom.ini
zlib | 1072 | A.... | custom.ini-re
---- ---- ---- ----
..listing completed
..done