Описание команды


zpack

Архивирование файлов и каталогов в -ZIP.

zpack=%L,%WL||LISTF<>||PS<>||FOLDC<>||FOLDM<>||LISTC<>||FLST<>||cliplist||$var_aa||$GLOBALNAME||FileZip, ||foldname<>, ||Dialogs, ||progres<>, ||<info>, ||<xinfo>, ||[tc], ||upd<>, ||clpget, ||allarh<>, ||cntlr<>

Параметры:

1-й обязательный параметр. Может иметь несколько вариантов:
%L,
%WL
Список выделенных объектов. Также может использоваться путь к файлу списка полных путей объектов %P%N. см. Дополнение №7 или с:\List.txt
LISTF<>Список заданных объектов. см. Дополнение №22.
PS<>Список объектов каталога. см. Дополнение №22.
FOLDC<>Список объектов содержимого каталогов. см. Дополнение №22.
FOLDM<>Список выделенных объектов и всех объектов в подпапках. см. Дополнение №22.
LISTC<>Список объектов из выделенных без дубликатов. см. Дополнение №22.
FLST<>Смешанные списки объектов по заданному списку. см. Дополнение №22.
cliplistСписок полных путей объектов из буфера обмена.
$var_aaМассив. Переменная $var_a... - массив путей, созданный в команде exect.
$GLOBALNAMEМассив. Список путей глобальной переменной см. Дополнение №23.
2-й обязательный параметр.
FileZipПуть к архиву zip. Параметр FileZip//Mode, где:
  FileZip - полный путь к архиву zip.
    :: - родительский путь активного объекта.
    @ - путь будет взят, относительно полного пути активного объекта.
  Mode - режим:
    0 - создавать новый архив (по умолчанию).
    1 - создавать новый архив (заменять, если существует).
    2 - создавать новый архив (дописывать, если существует).
Дополнительные параметры:
foldname<>Именные папки. Параметр foldname<Number>, где Number:
  1 - создание именных архивов.
  2 - создание именных архивов в именных папках.
DialogsДиалоги. см. Дополнение №18
  Описание
Различные параметры диалогов.
  [input] - диалог ввода информации в InputBox.
  [richinput] - диалог ввода информации в RichInputBox.
  [combo] - диалог выбора информации в ComboBox.
  [group] - диалог выбора информации в GroupBox.
  [check] - диалог выбора информации в CheckBox.
  [edits] - диалог выбора информации в EditBox.
  [sfold] - выбор каталога.
  [zfold] - выбор каталогов.
  [sopen] - выбор файла для открытия.
  [ssave] - выбор файла для сохранения.
  [sicon] - диалог просмотра и выбора значка.
  [msgbx] - окно сообщения MsgBox.
  [updwn] - диалог выбора числовой информации UpDown.
  [image] - диалог выбора изображения.
  [elect] - диалог выбора файлов и папок.
...и другие диалоги.
progres<>Прогресс бар. Параметр progres<> - если указан, то при операции будет запущен прогресс бар.
Учитывается ключ MsBoxAtTheCompletion в TCIMG.ini в секции [Setting].
<info>Получение различной информации. см. Дополнение №10.
<xinfo>Получение различной информации. см. Дополнение №10.
  Аналог параметра <info>, имеет возможность внутри параметра использовать параметр <info>
  Пример: <xinfo=o450<info=f50FilePath//>//>
[tc]Расширенный аналог параметров Total Commander. см. Дополнение №12.
upd<>Обновление панели.
  Описание
Параметр upd<Number>, где Number - значение обновления панели(ей) Total Commander:
  1 - обновить активную панель.
  2 - обновить обе панели, вернуться в активную.
  3 - обновить другую панель, вернуться в активную.
  4 - обновить активную панель, перейти в другую.
  5 - обновить другую панель, остаться в другой.
  6 - обновить обе панели, остаться в другой.
  7 - не обновлять (по умолчанию, т.е. если параметр не прописан, то панели не обновляются).
clpgetИз буфера обмена. Параметр clpget может использоваться совместно с другими параметрами, clpget будет заменён содержимым буфера обмена.
allarh<>Во все архивы. При этом параметре объект(ы) будут добавлены во все заданные архивы zip.
cntlr<>Счётчик. При совпадении имён:
  0 - счётчик слева.
  1 - счётчик справа (по умолчанию).

Примечания:

Команда создавалась для автоматизации и упаковки нескольких объектов, использует встроенные ресурсы Windows, а именно библиотеку zipfldr.dll (%WINDIR%\System32\zipfldr.dll). Если в Вашей системе нет такой библиотеки, то её нужно установить и зарегистрировать в системе, в ином случае команда работать не будет.
Для большого количества объектов воспользуйтесь диалогом упаковки Total Commander или архиватором.

Если передаётся не объект для архивирования, то создаётся пустой архив.

Там, где необходимо указывать путь можно использовать сокращения для специальных папок и файлов $f01 ... см. Дополнение №8.

Команда имеет возможность передавать другим командам информацию через именные глобальные переменные. см. Дополнение №23

Имя переменнойОписание
GLOBALZPACK0массив входных данных (список исходных путей объектов для упаковки)
GLOBALZPACKмассив выходных данных (список путей архивов или архива)

Аналог команды для одного объекта zpacf

См. также:

zpacf, zunpf, zunpk

Примеры:
 Как создать кнопку?

global copys=%WL||"%T"//0 zpack=FOLDC<$GLOBALCOPYS1//1//-1//*.ext>||@//0||progres<> delss=$GLOBALZPACK0||1||progres<>||upd<1> ;; скопировать выделенные папки в другую панель, запаковать все файлы EXT с рекурсией в скопированных папках в те же папки в именные файлы .ZIP и удалить исходники

global copys=%WL||"%T"//0 zpack=FOLDC<$GLOBALCOPYS1//1//-1//*.ext>||@//0||progres<> ;; скопировать выделенные папки в другую панель, запаковать все файлы EXT с рекурсией в скопированных папках в те же папки в именные файлы .ZIP

global opens=%WL||$f25\notepad.exe||&&wait zpack=GLOBALOPENS<t>||$f06\Bufer-<info=s47>.zip//0 ;; поочередное открытие выделенных файлов в блокноте и последующая их упаковка на рабочий стол

global renms=%WL||**1!!?.doc zpack=$GLOBALRENMS||"%p"//0||foldname<1> delss=$GLOBALRENMS||1 renms=$GLOBALZPACK||**0!!||upd<1> ;; к выделенным файлам добавить расширение doc + упаковать их в zip каждый отдельно, убрав расширение zip + удалить исходники

global zpack=%WL||"%t"//0||progres<>||foldname<1> GLOBALZPACK0<a> GLOBALZPACK<a> ;; упаковать выделенные объекты в другую панель в именные архивы zip и получить списки результатов

global zpack=%WL||"%t"//0||progres<>||foldname<1> renms=$GLOBALZPACK||~~!!.||upd<3> ;; упаковать выделенные объекты в другую панель в именные архивы zip и переименовать созданные архивы (заменить пробел на точку)

global zpack=PS<"%P"//1//-1//*.fb2>||@//0||progres<> delss=$GLOBALZPACK0||1||progres<>||upd<1> ;; в активной панели упаковать все файлы FB2 (с рекурсией) в те же папки в именные файлы .ZIP и удалить исходники

global zpack=PS<"%P"//1>||@//0||progres<> delss=$GLOBALZPACK0||1||progres<>||upd<1> ;; в активной панели упаковать все файлы (с рекурсией) в те же папки в именные файлы .ZIP и удалить исходники

global zpack=PS<"%P"//1>||@//0||progres<>||upd<1> GLOBALZPACK0<a> GLOBALZPACK<a> ;; в активной панели упаковать все файлы (с рекурсией) в те же папки в именные файлы .ZIP и записать результат в глобальные переменные

lends=<info=f12%P%N//> zpack=%WL||"%p"[combo=BOX_U3.1].zip||progres<> ;; упаковать выделенные объекты в активную панель в архив с именем выбранным в диалоговом окне, с прогресс баром

sends=#??-3||?O|N1 zpack=$GLOBALSENDS||"%p"::.zip//0||upd<1> ;; создать 9 пустых ZIP архивов в активной панели

slist=%WL <FOR> 1 <TO> GLOBALSLIST<0> alist=PS<GLOBALSLIST<:INDEX:>//-1//0> blist=@GLOBALSLIST<:INDEX:>||##path<4> zpack=$GLOBALALIST||GLOBALSLIST<:INDEX:>GLOBALBLIST<1>.zip||progres<> <NEXT> ;; упаковать в ZIP, с именем объекта под курсором, структурированное содержимое каждого выделенного каталога, с размещением архивов внутри выделенных каталогов

slist=FOLDM<%WL//0//-1>||"%P"!! strct="%t"||$GLOBALSLIST||progres<> slist=%WL||"%P"!!"%T" zpack=GLOBALSLIST<t>||"%t"Structure.zip//0||progres<>||upd<3> ;; создать пустую структуру выделенных объектов в другой панели, отсекая родительский путь и упаковать её в архив Structure.zip в другую панель

zpack=%WL||"$f06\%O".zip//0 ;; упаковать выделенные объекты в архив zip именем объекта под курсором и поместить на рабочий стол

zpack=%WL||"$f06\%O[info=s36!!#sek.!!s35!!#min.!!s34!!#chas.!!s33!!#.!!s32!!#.!!s31]".zip//0 ;; упаковать выделенные объекты в архив zip именем объекта под курсором+текущей датой и поместить на рабочий стол

zpack=%WL||"%t"//0||progres<>||foldname<1> ;; упаковать выделенные объекты в другую панель в именные архивы zip

zpack=%WL||"%t"//0||progres<>||foldname<2> ;; упаковать выделенные объекты в другую панель в именные архивы zip + в именные папки

zpack=%WL||"%t"[info=s33!!#.!!s32!!#.!!s31].zip ;; упаковать выделенные объекты в другую панель в архив 07.03.2014.zip

zpack=%WL||"%t"<info=f61"%t"x//>.zip//0 ;; упаковать выделенные объекты в другую панель в архив zip именем папки другой панели

zpack=%WL||"%t"12345.zip//0 ;; упаковать выделенные объекты в другую панель в архив 12345.zip

zpack=%WL||"%t"12345.zip//0||progres<> ;; упаковать выделенные объекты в другую панель в архив 12345.zip с прогресс баром

zpack=%WL||"%t"12345.zip//1 ;; упаковать выделенные объекты в другую панель в архив 12345.zip (с заменой, если архив существует)

zpack=%WL||"%t"12345.zip//2 ;; упаковать выделенные объекты в другую панель в архив 12345.zip (добавить в существующий или создать новый)

zpack=%WL||"%t"clpget.zip//1 ;; упаковать выделенные объекты в другую панель в архив zip - имя берётся из буфера обмена (с заменой, если архив существует)

zpack=%WL||::bak-<info=s47>.zip//0 ;; упаковать выделенные файлы в ту же папку с заданным именем

zpack=%WL||x||allarh<[tc=TL]> ;; добавить выделенные объекты во все выделенные архивы другой панели

zpack=%WL||x||allarh<[tc=TL]>||progres<> ;; добавить выделенные объекты во все выделенные архивы другой панели с прогресс баром

zpack=%WL||x||allarh<c:\ListPathArhives.txt> ;; добавить выделенные объекты во все архивы из списка ListPathArhives.txt

zpack=%WL||x||allarh<c:\ListPathArhives.txt>||progres<> ;; добавить выделенные объекты во все архивы из списка ListPathArhives.txt с прогресс баром

zpack=%WL||x||allarh<cliplist> ;; добавить выделенные объекты во все архивы - список полных путей папок из буфера обмена

zpack=%WL||x||allarh<cliplist>||progres<> ;; добавить выделенные объекты во все архивы - список полных путей папок из буфера обмена с прогресс баром

zpack=c:\List.txt||"%t"//0||progres<>||foldname<1> ;; упаковать объекты из файла списка в другую панель в архив в именные архивы zip

zpack=c:\List.txt||"%t"//0||progres<>||foldname<2> ;; упаковать объекты из файла списка в другую панель в архив в именные архивы zip + в именные папки

zpack=c:\List.txt||"%t"12345.zip//0 ;; упаковать объекты из файла списка в другую панель в архив 12345.zip

zpack=c:\List.txt||"%t"12345.zip//1 ;; упаковать объекты из файла списка в другую панель в архив 12345.zip (с заменой, если архив существует)

zpack=c:\List.txt||"%t"12345.zip//2 ;; упаковать объекты из файла списка в другую панель в архив 12345.zip (добавить в существующий или создать новый)

zpack=FOLDC<%WL//1//-1//*txt>||"%t"12345.zip//0||progres<> ;; упаковать все файлы txt выделенных папок в один архив

zpack=FOLDC<%WL//1//-1>||"%t"12345.zip//0||progres<> ;; упаковать все файлы выделенных папок в один архив

zpack=PS<"%P"//1>||@//0||progres<>||upd<1> ;; в активной панели упаковать все файлы (с рекурсией) в те же папки в именные файлы .ZIP

zpack=PS<"%p"Pages//2//0>||"%p"Arch//0||foldname<1> ;; упаковать все папки с файлами в каталоге Pages и поместить архивы в каталог Arch в активной панели

zpack=PS<%P%N//1//0>||"%p"[tc=AO]_(Backup)\[tc=AO]_-_(backup_[info=s38!!#--!!s34!!#.!!s35!!#.!!s36!!#]).zip//0||progres<> ;; упаковать все файлы первого уровня папки под курсором в ZIP архив с именем папки под курсором + "_-_(backup_YYYY.MM.DD--HH.NN.SS)" с сохранением архива в папку с именем папки под курсором + "_(Backup)"


© Аверин Андрей для Total Commander Image  Averin-And@yandex.ru