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


joinz

Склеить файлы.

joinz=%L,%WL||cliplist||LISTF<>||PS<>||FOLDC<>||FOLDM<>||LISTC<>||FLST<>||$var_aa||$GLOBALNAME||Path, ||upd<>, ||progres<>, ||Dialogs, ||<info>, ||cntlr<>

Параметры:

1-й обязательный параметр. Может иметь несколько вариантов:
%L,
%WL
Список выделенных файлов. Также может использоваться путь к файлу списка полных путей файлов %P%N. см. Дополнение №7 или с:\List.txt
cliplistСписок полных путей объектов из буфера обмена.
LISTF<>Список заданных объектов. см. Дополнение №22.
PS<>Список объектов каталога. см. Дополнение №22.
FOLDC<>Список объектов содержимого каталогов. см. Дополнение №22.
FOLDM<>Список выделенных объектов и всех объектов в подпапках. см. Дополнение №22.
LISTC<>Список объектов из выделенных без дубликатов. см. Дополнение №22.
FLST<>Смешанные списки объектов по заданному списку. см. Дополнение №22.
$var_aaМассив. Переменная $var_a... - массив путей, созданный в команде exect.
$GLOBALNAMEМассив. Список путей глобальной переменной см. Дополнение №23.
2-й обязательный параметр.
PathПуть.
Path(!!Flag!!Name.Ext!!Insert). Подпараметры разделяются символами !!
  Может быть от 1-го (обязательного) до 4-х подпараметров.
Path//Flag(//Name.Ext//Insert). Подпараметры разделяются символами // (рекомендуемый).
  Может быть от 2-х (обязательных) до 4-х подпараметров, где:
  Path - путь назначения, где создавать файл.
  Flag :
    0 - не перезаписывать, если файл существует (добавляется счётчик).
    1 - перезаписывать файл, если существует.
    2 - дописывать в файл, если существует.
  Name.Ext - имя и расширение создаваемого файла.
  Insert - добавление к базовому имени.
    Если Insert начинается с ** то последующая строка заменяет расширение.
    Если Insert начинается с ++ то последующая строка добавляет расширение.
Если Path=x, Name=x, Ext=x , то путь/имя/расширение берётся из пути оригинального файла.
Дополнительные параметры:
upd<>Обновление панели.
  Описание
Параметр upd<Number>, где Number - значение обновления панели(ей) Total Commander:
  1 - обновить активную панель.
  2 - обновить обе панели, вернуться в активную.
  3 - обновить другую панель, вернуться в активную.
  4 - обновить активную панель, перейти в другую.
  5 - обновить другую панель, остаться в другой.
  6 - обновить обе панели, остаться в другой.
  7 - не обновлять.
progres<>Прогресс бар. Параметр progres<> - если указан, то при операции будет вызван прогресс бар.
Учитывается ключ MsBoxAtTheCompletion в TCIMG.ini в секции [Setting].
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] - диалог выбора файлов и папок.
...и другие диалоги.
<info>Получение различной информации. см. Дополнение №10.
cntlr<>Счётчик. При совпадении имён:
  0 - счётчик слева.
  1 - счётчик справа (по умолчанию).

Примечания:

Один из вариантов использования: можно спрятать архивы внутри jpg изображения. Для этого в списке изображение должно быть первым, а архивы (к примеру rar) последующими. Создастся склеенный файл jpg (большего размера), который так же будет функционировать, но в нём будут находится и заданные архивы. Извлечь архивы можно через архиватор или переименовать расширение jpg в rar и с помощью Total Commander распаковать (войти в файл как в папку)...

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

Имя переменнойОписание
GLOBALJOINZ0массив входных данных (список исходных путей файлов для объединения)
GLOBALJOINZмассив выходных данных (в первой ячейке путь созданного общего файла)

См. также:

exbnf, exbns, joinf, maskx, maskz, reszf, reszs, sdupl, splis, split

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

global joinz=PS<"%p"//1>||"%t"//0//Summa.txt||progres<>||upd<3> GLOBALJOINZ0<a>, GLOBALJOINZ<a> ;; склеить все файлы активной панели и создать полученный файл в другой панели именем Summa.txt и получить списки результатов

imgpr=1 slist=FOLDM<%WL//-2//-1> <FOR> 1 <TO> GLOBALSLIST<0> joinz=PS<GLOBALSLIST<:INDEX:>//1>||%P%N//2//<info=o73GLOBALSLIST<:INDEX:>//>.txt <NEXT> delss=$GLOBALSLIST||1 ;; склеить все файлы каждой подпапки выделенных папок с размещением результирующих файлов (с именем родительской папки, с дописыванием при совпадении) в 1-м уровне выделенных папок с последующим удалением всех подпапок

joinz=%WL||"%p"//0//"%O-@<info=s47>.%E" ;; склеить бинарные данные выделенных файлов, и создать полученный файл в другой панели именем файла под курсором + системное время

joinz=%WL||"%t"//0//%N ;; склеить бинарные данные выделенных файлов, и создать полученный файл в другой панели именем файла под курсором

joinz=%WL||"%t"//1//%N ;; склеить бинарные данные выделенных файлов, и создать полученный файл в другой панели именем файла под курсором (перезаписывать, если существует)

joinz=%WL||"%t"//1//%N||progres<> ;; склеить бинарные данные выделенных файлов, и создать полученный файл в другой панели именем файла под курсором (перезаписывать, если существует) + отображение прогресс бара

joinz=%WL||"%t"//2//%N ;; склеить бинарные данные выделенных файлов, и создать полученный файл в другой панели именем файла под курсором (дописывать, если существует)

joinz=%WL||"%t"//2//%N||progres<> ;; склеить бинарные данные выделенных файлов, и создать полученный файл в другой панели именем файла под курсором (дописывать, если существует) + отображение прогресс бара

joinz=PS<"%p"//1>||"%t"//0//Summa.txt||progres<>||upd<3> ;; склеить все файлы активной панели и создать полученный файл в другой панели именем Summa.txt


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