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


dectd

Декодирование файла.

dectd=File илиMode||Coded||Path, ||content<>, ||...

Параметры:

1-й обязательный параметр.
File
или
Mode
Путь к файлу. Полный путь к файлу, возможные варианты:
  • Абсолютный путь c:\test.b64.
  • Путь через параметры %P%N см. Дополнение №7.
  • Относительный путь %COMMANDER_PATH%\test.uue.
  • Путь возвращаемый параметром <xfolder> см. Дополнение №11.
  • Mode - Следующие условия позволяют автоматически определить содержимое кода B64/MIME/UUE/XXE/BinHex в буфере обмена (или полученного через параметр content<>) и декодировать в соответствующий файл:
  0 - создаёт оригинальный файл.
  1 - создаёт оригинальный файл. Если файл является архивом zip, то распаковывает его содержимое. Другие типы архивов распаковываются с помощью Total Commander и встроенных плагинов. Необходимые для распаковки типы архивов прописываются в TCIMG.ini в секции [Setting] в ключе DecryptExt.
2-й обязательный параметр.
CodedМетод декодирования. Поддерживаются следующие методы:
  b64 - MIME (Base64).
  xxe - UUEncode.
  uue - XXEncode.
  x - метод берётся из расширения файла.
  xxx - метод берётся из содержимого файла (расширение игнорируется).
3-й обязательный параметр.
PathPath!!Flag!!RegExp!!Replace. Подпараметры разделяются символами !!
  Может быть от 1-го (обязательного) до 4-х подпараметров.
Path//Flag//RegExp//Replace. Подпараметры разделяются символами // (рекомендуемый).
  Может быть от 2-х (обязательных) до 4-х подпараметров, где:
  Path - путь назначения (если в параметрах необходимо использовать путь объекта, то используйте два двоеточия ::).
  Flag :
    0 - не перезаписывать имеющиеся объекты. Добавление счётчика. (по умолчанию).
    1 - перезаписывать имеющиеся объекты.
    3 - добавление счётчика к целевому пути, если он существует.
    4 - пропустить при совпадении имени объекта.
    5 - пропустить, если целевой объект не существует. Не перезаписывать имеющиеся объекты. Добавление счётчика.
    6 - пропустить, если целевой объект не существует. Перезаписывать имеющиеся объекты.
  RegExp//Replace (RegExp!!Replace) - строка разделённая символами // означает изменение пути Path (путь назначения) с регулярными выражениями: первая часть "что искать", вторая "чем заменять" см. Дополнение №2.
Для вставки какого-то дополнительного пути в строку регулярного выражения используется подпараметр path<Path>
Дополнительные параметры:
content<>Строка. Параметр content<String**SeriesParam>, где:
  String - строка, которая берётся за основу создания файла. Возможны варианты:
    • String - строка.
    • @Path - путь объекта (символ @ отбрасывается).
    • cliptext - текст из буфера обмена.
    • File - полный путь к файлу, берётся его содержимое.
    • $vzar_... - информация переменных $var_, созданных exect. В имя добавляется символ z
    • GLOBALNAME<xN> - информация из глобальных переменных см. Дополнение №23.
    • $GLOBALNAME - информация из глобальных переменных см. Дополнение №23.
  SeriesParam [необязательный] серия параметров для преобразования. см. Дополнение №24.
    (Разделитель между параметрами **).
Дополнительные символы, которые можно использовать в строке: "@CR" - Символ возврата каретки, Chr(13), "@LF" - Символ перевода строки, Chr(10), "@CRLF" = @CR & @LF, "@TAB" - Символ Tab, Chr(9).
Функции Chr(N) и ChrW(N) будут заменены соответствующими символами.
...Аналог. Остальные параметры те же, что и у команды decod.

Примечания:

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

Имя переменнойОписание
GLOBALDECTD0массив входных данных (в первой ячейке путь объекта для декодирования)
GLOBALDECTDмассив выходных данных (в первой ячейке путь декодированного файла или исходный путь, если объект не был декодирован)
GLOBALDECTD1массив успешного декодирования (в первой ячейке путь декодированного файла)
при Mode=1 и распаковки zip в массив попадают пути всех распакованных файлов
GLOBALDECTD2массив неуспешного декодирования (в первой ячейке исходный путь объекта, если объект не был декодирован)

См. также:

decod, encod, enctd, encts

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

bufsr=^^<ifile=w:\Test\1.b64>@CRLF||save<"%p"1.b64|0> dectd="%p"1.b64||b64||upd<1> ;; вставить содержимое шаблона W:\Test\1.b64 в буфер обмена перед кодированной строкой (которая уже находится в буфере), сохранить в активной панели в файл 1.b64 и декодировать + обновить активную панель

dectd=%P%N||b64||"%p"//0 ;; декодировать MIME (Base64) файл под курсором в активную панель

dectd=%P%N||b64||"%p"//1 ;; декодировать MIME (Base64) файл под курсором в текущую панель, заменяя существующий файл

dectd=%P%N||b64||"%t"//0 ;; декодировать MIME (Base64) файл под курсором в другую панель

dectd=%P%N||b64||"%t"//1 ;; декодировать MIME (Base64) файл под курсором в другую панель, заменяя существующий файл

dectd=%P%N||uue||"%p"//0 ;; декодировать файл под курсором в активную панель в UUEncode

dectd=%P%N||uue||"%t"//0 ;; декодировать файл под курсором в другую панель в UUEncode

dectd=%P%N||xxe||"%p"//0 ;; декодировать файл под курсором в активную панель в XXEncode

dectd=%P%N||xxe||"%t"//0 ;; декодировать файл под курсором в другую панель в XXEncode

dectd=0||x||"%p"//0||upd<1> ;; декодировать текст вида B64/MIME/UUE/XXE/BinHex из буфера обмена и сохранить в именной файл в активную панель

dectd=0||x||"%p"//0||upd<1>||namedec<img-@<info=f12%P%N//>-<info=f3%P%N//>> ;; декодировать текст вида B64/MIME/UUE/XXE/BinHex из буфера обмена и сохранить в активную панель с заданным именем файла

dectd=1||x||"%p"//0 ;; декодировать текст вида B64/MIME/UUE/XXE/BinHex из буфера обмена и сохранить в именной файл в активную панель, если файл является архивом, то распаковать, удалив его. Архивы zip распаковываются автоматически, остальные архивы распаковываются с помощью Total Commander, необходимые типы архивов прописываются в TCIMG.ini в ключе DecryptExt секции [Setting]

global dectd=1||x||"%p"//0 GLOBALDECTD1<a> ;; декодировать текст вида B64/MIME/UUE/XXE/BinHex из буфера обмена и сохранить в именной файл в активную панель, если файл является архивом, то распаковать, удалив его. Архивы zip распаковываются автоматически и при global GLOBALDECTD1 содержит список путей распакованных файлов

global webss=%P%N||"%p"//0||Scrinshot-<info=f12%P%N//>-<info=f3%P%N//>|jpg pause=500 pause=500 sends=GLOBALWEBSS0<1>??1||code<4>||&&([^|]+)body\s\{\s+\w+-image\:url\(\'data:image/jpg;base64,!!||&&\'\);([^|]+)!!||&&[\r\n\t]!! creat="%p"||"Extr_body_b64-@<info=f12%P%N//>-<info=f3%P%N//>".txt||content<GLOBALSENDS<1>> pause=500 bufsr=GLOBALSENDS<1> pause=500 clptx=%%COMMANDER_PATH%%\sablon\b64\jpg.b64||insert<2> pause=500 dectd=0||x||"%p"//0||upd<1>||namedec<img_body-<info=f12%P%N//>-@<info=f3%P%N//>> ;; создать скриншот из файла под курсором, произвести экстракцию кода b64 - jpg, (фонового изображения body) и сохранить в текстовой файл + воссоздание физического изображения с расширением jpg. Поддерживает шаблон [HTML4]

global webss=%P%N||"%p"//0||Scrinshot-<info=f12%P%N//>-<info=f3%P%N//>|jpg pause=500 sends=GLOBALWEBSS0<1>??1||code<4>||&&([^|]+)body\s\{\s+\w+-image\:url\(\'data:image/jpg;base64,!!||&&\'\);([^|]+)!!||&&[\r\n\t]!! creat="%p"||"Extr_body_b64-@<info=f12%P%N>-<info=f3%P%N//>".txt||content<GLOBALSENDS<1>> pause=500 bufsr=##<ifile=%%COMMANDER_PATH%%\sablon\b64\jpg.b64>||$GLOBALSENDS<1> pause=500 dectd=0||x||"%p"//0||upd<1>||namedec<img_body-<info=f12%P%N>-@<info=f3%P%N//>> ;; создать скриншот из файла под курсором, произвести экстракцию кода b64 - jpg, (фонового изображения body) и сохранить в текстовой файл + воссоздание физического изображения с расширением jpg. Поддерживает шаблон [HTML4]

sends=-1??-1 slist=$GLOBALSENDS||formt<sps43,sps44,1,54,63> <FOR> 1 <TO> GLOBALSLIST<0> sends=x||##rndm<3|20>||#Hcrc32|1 sends=MIME-Version:~~1.0~~LFContent-Type:~~application/octet-stream;~~name=''omega''~~LFContent-Transfer-Encoding:~~base64~~LFContent-Disposition:~~attachment;~~filename=''GLOBALSENDS<1>''??2 sends=GLOBALSLIST<:INDEX:>>??3||^^GLOBALSENDS<2>~~ dectd=0||x||"%p"//0||content<GLOBALSENDS<x3>> renmm=GLOBALDECTD<1>||extplus<> <NEXT> tcimg=50~~$cm540 ;; восстановить все файлы из списка кода в b64 в буфере в активную панель


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