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


stext

Объединение текстовых файлов с предварительным форматированием.

stext=%L,%WL||cliplist||LISTF<>||PS<>||FOLDC<>||FOLDM<>||LISTC<>||FLST<>||$var_aa||$GLOBALNAME||Path, ||SeriesParam, ||#ASrting, ||#ZString, ||delim<>, ||eline<>, ||xline<>, ||formt<>, ||first<>, ||owrite<>, ||tcg<>, ||clip<>, ||clpget, ||upd<>, ||Dialogs, ||clipset<>, ||openn<>, ||<srlist>, ||<dellist>, ||cntlr<>, ||progres<>, ||isbinary<>, ||test<>, ||code<>, ||zebr<>

Параметры:

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). Подпараметры разделяются символами //
  Может быть от 2-х (обязательных) до 4-х подпараметров, где:
  Path - путь назначения, где создавать файл.
  Flag :
    0 - не перезаписывать имеющиеся объекты. Добавление счётчика. (по умолчанию).
    1 - перезаписывать имеющиеся объекты.
    2 - дописывать, если существует.
    3 - добавление счётчика к целевому пути, если он существует.
    4 - пропустить при совпадении имени объекта.
    9 - проверка создания файла с помощью параметра owrite<>
  Name.Ext - имя и расширение создаваемого файла.
  Insert - добавление к базовому имени.
    Если Insert начинается с ** то последующая строка заменяет расширение.
    Если Insert начинается с ++ то последующая строка добавляет расширение.
Если Path=x, Name=x, Ext=x , то путь/имя/расширение берётся из пути оригинального файла.
Может использоваться подпараметр rndm - информация случайных данных см. Дополнение №30
Если 2-й параметр равен нулю "0", то файл создаваться не будет.
Дополнительные параметры:
SeriesParamПреобразование строки. Серия параметров, изменяющих текстовую информацию см. Дополнение №24.
#ASrting, ||#ZStringВставка. Вставка в начало и/или в конец после обработки всех параметров. см. Дополнение №24.
delim<>Разделитель. Параметр delim<Delimeter(!!Mode)>, где:
  Delimeter - строка-разделитель между содержанием текстовых файлов.
  Mode [необязательный] - режим вставки разделителя:
    0 - в начало содержимого каждого файла (по умолчанию).
    1 - в конец содержимого каждого файла.
    2 - в начало и конец содержимого каждого файла.
    3 - между содержимым файлов.
  В разделителе могут использоваться
• Дополнительные символы, которые можно использовать в строке: "@CR" - Символ возврата каретки, Chr(13), "@LF" - Символ перевода строки, Chr(10), "@CRLF" = @CR & @LF, "@TAB" - Символ Tab, Chr(9).

• Если в команде(ах) необходимы кавычки, то используются две одинарных кавычки (апострофа) '' , если в команде необходим пробел - используются два символа тильды ~~.

-• Для специальных знаков могут использоваться Коды ASCII символов и функции Chr() и ChrW() см. Дополнение №26

cliptext - в любом месте тег cliptext будет заменён содержимым буфера обмена.

<info> - информация переданная параметром см. Дополнение №10

GLOBALNAME - данные, переданные глобальными переменными. см. Дополнение №23

• Счётчики enum[] и tnum[] см. Дополнение №24
eline<>Вставка в каждую строку. Параметр eline<LINE1!!LINE2> - в каждую строку содержимого будет добавлена: LINE1 - строка в начало, LINE2 - строка в конец. При пустых строках используется опциональная настройка - в TCIMG.ini в секции [Setting] ключ LineZiro, 0 - ничего не добавлять, 1 - добавлять. Угловые скобки внутри параметра необходимо заменять соответствующими двойными фигурными < на {{ и > на }}.
xline<>В каждую строку. Параметр xline<String> позволяет добавить заданную информацию в каждую строку текста, где:
  String - строка параметров аналогичных см. Дополнение №24.
  При использовании нескольких параметров разделитель ;;.
formt<>Преобразование текстовой информации. см. Дополнение №15.
first<>Именем первой строки.
  Описание
Параметр first<Number>, если буфер не пустой, то имя для файла ищется в первой не пустой строке:
1) Удаляются несовместимые символы для имени файла и лишние пробелы.
2) Удаляются с начала имени ненужные отрезки (ключ FirstLineBeginDel1... FirstLineBeginDelN).
3) Удаляются с конца имени ненужные отрезки (ключ FirstLineEndDel1... FirstLineEndDelN).
4) Обрезается правая часть имени от заданных отрезков найденных с начала(ключ FirstPathEnd1... FirstPathEndN).
5) Обрезается левая часть имени от заданных отрезков найденных с конца (ключи FirstPathBegin1... FirstPathBeginN)
  (Отрезков (частей текста) может быть сколько угодно, в ключах они разделяются "\").
6) Ограничивается максимальная длина имени (ключи FirstLineMax1... FirstLineMaxN).
Можно использовать свой шаблон замен, прописав Number - номер шаблона в параметр и создать условия в соответствующих ключах в TCIMG.ini
owrite<>Перезапись. Параметр owrite<Number>, где Number:
 Описание
  0 - не перезаписывать существующий файл, добавляется счётчик.
  1 - перезаписывать, если файл существует.
  8 - пропустить при совпадении имени объекта.
  10 - если файл существует - перезаписывать; пропускать, если подобный файл не существует по целевому пути.
  11 - если файл существует - добавлять счётчик; пропускать, если подобный файл не существует по целевому пути.
  12 - если файл существует, то к целевому файлу добавляется счётчик.
  13|Ext - если файл существует, то к целевому файлу добавляется заданное расширение Ext.
  14|Name - если файл существует, то целевой файл перемещается в заданную/создаваемую папку Name по целевому пути.
  15|StringName - если файл существует, то к имени целевого файла добавляется заданная приставка; тег :N: в StringName заменяется именем файла.

Режимы 50 - 59 сравнивают файлы по датам.
Numbers - номер или номера через запятую 0, 1, 2
    0 - время последней модификации.
    1 - время создания.
    2 - время последнего доступа.
    Если проверяются несколько дат, то для определения "нового" файла можно в конце указать "-1", будет означает, что если все даты файла новее другого, то он считается "новым" 0,1,2,-1. По умолчанию, если хотя бы одна дата новее, то он считается "новым"

  50|Numbers - если дата исходного файла новее, то целевой файл заменяется. Иначе пропускается.
  51|Numbers - если дата исходного файла старше, то целевой файл заменяется. Иначе пропускается.
  52|Numbers - если дата исходного файла новее, то к создаваемому файлу прибавляется счётчик. Иначе пропускается.
  53|Numbers - если дата исходного файла старше, то к создаваемому файлу прибавляется счётчик. Иначе пропускается.
  54|Numbers - если дата исходного файла новее, то к целевому файлу прибавляется счётчик. Иначе пропускается.
  55|Numbers - если дата исходного файла старше, то к целевому файлу прибавляется счётчик. Иначе пропускается.
  56|Numbers|Ext - если дата исходного файла новее, то к целевому файлу прибавляется заданное расширение. Иначе пропускается.
  57|Numbers|Ext - если дата исходного файла старше, то к целевому файлу прибавляется заданное расширение. Иначе пропускается.
  58|Numbers|Name - если дата исходного файла новее, то целевой файл перемещается в заданную/создаваемую папку Name по целевому пути. Иначе пропускается.
  59|Numbers|Name - если дата исходного файла старше, то целевой файл перемещается в заданную/создаваемую папку Name по целевому пути. Иначе пропускается.
  60|Numbers|StringName - если дата исходного файла новее, то к имени целевого файла добавляется заданная приставка; тег :N: в StringName заменяется именем файла. Иначе пропускается.
  61|Numbers|StringName - если дата исходного файла старше, то к имени целевого файла добавляется заданная приставка; тег :N: в StringName заменяется именем файла.. Иначе пропускается.

Режимы 20 и 21 работают не для всех команд, где подключён параметр owrite<>
Режимы работают для команд связанных с текстовыми преобразованиями.
  20|Delimeter - если файл существует, то записывать в конец файла через разделитель Delimeter (необязательный)
  21|Delimeter - если файл существует, то записывать в начало файла через разделитель Delimeter (необязательный)
Далее при существовании файла проверяются контрольные суммы 2-х файлов:

  2|x - если они не совпадают, то к создаваемому файлу прибавляется счётчик.
          если они совпадают, то файл пропускается.

  3|x - если они не совпадают, то к создаваемому файлу прибавляется счётчик.
          если они совпадают, то файл перезаписывается.

  4|x - если они не совпадают, то существующий файл перезаписывается.
          если они совпадают, то файл пропускается.

  5|x - если они не совпадают, то существующий файл перезаписывается.
          если они совпадают, то к создаваемому файлу прибавляется счётчик.

  6|x - если они не совпадают, то файл пропускается.
          если они совпадают, то существующий файл перезаписывается.

  7|x - если они не совпадают, то файл пропускается.
          если они совпадают, то к создаваемому файлу прибавляется счётчик.

  30|x - если они не совпадают, то к целевому файлу прибавляется счётчик.

  31|x|Ext - если они не совпадают, то к целевому файлу прибавляется заданное расширение Ext.
          если они совпадают, то файл пропускается.

  32|x|Name - если они не совпадают, то целевой файл перемещается в заданную/создаваемую папку Name по целевому пути.
          если они совпадают, то файл пропускается.

  33|x|StringName - если они не совпадают, то к имени целевого файла добавляется заданная приставка; тег :N: в StringName заменяется именем файла.
          если они совпадают, то файл пропускается.

  х - метод сравнения:
    1 - подсчёт контрольной суммы MD5
    2 - подсчёт контрольной суммы SHA1
    3 - подсчёт контрольной суммы CRC32
    4 - подсчёт контрольной суммы MD2
    5 - подсчёт контрольной суммы MD4
    6 - подсчёт контрольной суммы SHA256
    7 - подсчёт контрольной суммы SHA384
    8 - подсчёт контрольной суммы SHA512
    9 - подсчёт контрольной суммы MAC
tcg<>Вставка. Параметр tcg<NameSection> - где NameSection - имя секции в файле .tcg. В секции прописывается любой текст, а также тег "##center##" в нужном месте, вместо которого будет вставлен преобразованный текст файла см. Дополнение №31.
clip<>Записать в буфер обмена. Параметр clip<Number|Delimeter|Sound> - записывает информацию в буфер обмена, где:
  Number [необязательный]:
    1 - записать в буфер обмена (по умолчанию).
    2 - записать в начало буфера обмена.
    3 - записать в конец буфера обмена.
  Delimeter [необязательный] - разделитель для 2 и 3 (по умолчанию перенос строки @CRLF).
  Sound [необязательный] - номер ключа из TCIMG.ini секции [Sound] для воспроизведения звука при изменении буфера обмена.
clpgetИз буфера обмена. Параметр clpget может использоваться совместно с другими параметрами, clpget будет заменён содержимым буфера обмена.
upd<>Обновление панели.
  Описание
Параметр upd<Number>, где Number - значение обновления панели(ей) Total Commander:
  1 - обновить активную панель.
  2 - обновить обе панели, вернуться в активную.
  3 - обновить другую панель, вернуться в активную.
  4 - обновить активную панель, перейти в другую.
  5 - обновить другую панель, остаться в другой.
  6 - обновить обе панели, остаться в другой.
  7 - не обновлять (по умолчанию, т.е. если параметр не прописан, то панели не обновляются).
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] - диалог выбора файлов и папок.
...и другие диалоги.
clipset<>Запись в буфер обмена в указанном формате. Параметр clipset<Number>, где Number:
  1 - Текстовый формат ANSI.
  7 - Текстовый формат, содержащий символы в OEM наборе символов.
  13 - Текстовый формат в юникоде
По умолчанию в текстовом формате в юникоде.
  При -1 информация в буфер обмена не записывается.
openn<>Открытие файлов.
  Описание
Параметр openn<Path\Name\ASSOC\ASSOCINI|Number|Parameters|Flag>, где:
Первый подпараметр означает путь к программе, которой открывать, может иметь несколько вариантов:
  0) Path - путь к программе.
  1) Name - имя КЛЮЧА пути программы прописанной в TCIMG.ini в секции [Programs].
  2) ASSOC - если прописан тег ASSOC, то программа ищется по расширению в ассоциациях Total Commander в Wincmd.ini в секции [Associations].
  3) ASSOCINI - если прописан тег ASSOCINI, то программа ищется по расширению в ассоциациях прописанных в TCIMG.ini в секции [Associations] (синтаксис аналогичен Wincmd.ini секции [Associations]).

Number - количество открываемых новых файлов.
• Может иметь диапазон, разделяемый - (5-12).
-1 - означает все.
• Добавление символа a в начале - означает открытие существующих файлов.
• Добавление символа z в начале - означает открытие существующих и новых файлов.

Parameters - параметры программы:
  x - без параметров (по умолчанию)
  explorer - означает открытие файла в программе, ассоциируемой в системе (игнорируется 1-й параметр)
Flag - Режим отображения запускаемой программы:
  по умолчанию видимое окно
  1 - скрытое окно
  2 - свернутое окно
  3 - развернутое окно
<srlist>Поиск и замена из файла.
  Описание
Параметр <srlist=FilePath(|Section|Mode|Flag|Registr|Sort|Concurrence|SymbolDelim|Read)>, где:
  FilePath - путь к файлу списка (обязательный параметр, остальные необязательные).
    В списке должны быть прописаны пары поиска и замены, разделённые "=" .
    Каждая пара с новой строки.
    Если замена не прописана, то происходит удаление строки поиска.
    Так же в поиске и замене можно вставлять символы с помощью функций Autoit Chr() и ChrW(),
      которые заменяются соответствующими символами.
    Так же в поиске и замене можно использовать тег @CRLF означающий перенос строки.
  $GLOBALNAME2D - может использоваться для передачи данных 2D массив из 2-х колонок, в котором:
    в 0-й колонке в ячейках данные для поиска.
    в 1-й колонке в соответствующих ячейках данные для замены.
Пример записи:

найти=заменить
привет=пока
строка ChrW(8618) =
@CRLFнайти@CRLF=@CRLFзаменить@CRLF

  Section - если в файле пары прописаны в секции, то указывается имя секции (в ином случае прописывается символ #) (по умолчанию без секции).
  Mode - режим обработки:
    0 - обычный (по умолчанию).
    1 - двойная обработка (это гораздо медленнее, но предотвращает пересечения между строками замены).
  Flag - подготовка списка:
    1 - не производить предварительную очистку.
    2 - удалить комментарии в секции списка "поиска и замен" (по умолчанию, если указана секция).
  Registr - регистр:
    0 - замена производится без учёта регистра.
    1 - с учётом регистра (по умолчанию).
  Sort - сортировка:
    0 - не сортировать (по умолчанию).
    1 - сортировать строки поиска по длине, по убыванию. (Это позволяет заменять последовательно: длинные строки, затем короткие...).
  Concurrence - совпадение:
    0 - поиск любого вхождения в строку (по умолчанию).
    1 - поиск точного совпадения со всем текстом. (Только при точном совпадении происходит замена).
    2 - поиск точного совпадения со строкой.
    3 - поиск точного совпадения со строкой слева.
    4 - поиск точного совпадения со строкой справа.
  SymbolDelim - символ, разделяющий пары поиска и замены.
    По умолчанию символ "="
    Так же можно вставлять символы с помощью функций Autoit Chr() и ChrW(), которые заменяются соответствующими символами.
  Read
    0 - информация файла или переменной считывается один раз, запоминается для дальнейшего использования (по умолчанию).
    1 - информация файла или переменной считывается каждый раз как только встретится параметр.

Можно воспользоваться аналогом ?Q
<dellist>Поиск и удаление из файла.
 Описание
Параметр <dellist=FilePath|Mode|Registr|Flag> , где:
  FilePath - путь к файлу списка (обязательный параметр, остальные необязательные).
     В списке должны быть прописаны строки (фразы) для поиска.
     Список может быть так же передан через глобальный массив $GLOBALNAME.
     При cliplist список будет взят из буфера обмена.
  Mode - режим удаления из текста:
    1 - удаление всех фраз прописанных в файле (по умолчанию).

    2 - удаление строк, которые совпадают с прописанными строками в файле.
    3 - удаление строк, в которых есть фраза из прописанных в файле.
    4 - удаление строк, в которых в начале есть фраза из прописанных в файле.
    5 - удаление строк, в которых в конце есть фраза из прописанных в файле.

    6 - удаление строк, которые не совпадают с прописанными строками в файле.
    7 - удаление строк, в которых нет фразы из прописанных в файле.
    8 - удаление строк, в которых в начале нет фразы из прописанных в файле.
    9 - удаление строк, в которых в конце нет фразы из прописанных в файле.
  Registr - регистр:
    0 - удаление производится без учёта регистра (по умолчанию).
    1 - с учётом регистра.
  Flag
    0 - если список удаления пуст, то возвращается исходный текст (по умолчанию).
    1 - если список удаления пуст, то возвращается "пустая" строка.
cntlr<>Счётчик. При совпадении имён:
  0 - счётчик слева.
  1 - счётчик справа (по умолчанию).
progres<>Прогресс бар. Параметр progres<> - если указан, то при операции будет запущен прогресс бар.
Учитывается ключ MsBoxAtTheCompletion в TCIMG.ini в секции [Setting].
isbinary<>Проверка. Параметр isbinary<Number> позволяет проверить файл бинарный он или текстовый. Если бинарный, то такой файл не попадает на обработку...
  Number
    0 - не проверять (по умолчанию).
    1 - проверять.
При большом количестве обрабатываемых файлов параметр может замедлить работу.
test<>Проверка прохождения объекта под определённые условия. см. Дополнение №16.
code<>Кодировка. Параметр code<Number>, где Number:
  0 - ANSI 1251.
  1 - UTF-16 LE 1200.
  2 - UTF-16 BE 1201.
  3 - UTF-8 с BOM.
  4 - UTF-8 без BOM.
  По умолчанию кодировка последнего файла.
zebr<>Чередование. Параметр zebr<Begin|Step|InARow>, где:
Begin - с какого элемента начинать отсчёт.
Step - шаг.
InARow - количество подряд элементов.

Примечания:

Если не указан параметр code<>, то проверяется кодировка всех входящих файлов, если файлы в разной кодировке, то общий файл записывается в Unicode кодировке (UTF16 или UTF8, относительно кодировки входящих файлов)

Дополнительные символы, которые можно использовать в строке: "@CR" - Символ возврата каретки, Chr(13), "@LF" - Символ перевода строки, Chr(10), "@CRLF" = @CR & @LF, "@TAB" - Символ Tab, Chr(9).

Если в команде(ах) необходимы кавычки, то используются две одинарных кавычки (апострофа) '' , если в команде необходим пробел - используются два символа тильды ~~.

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

Имя переменнойОписание
GLOBALSTEXT0массив входных данных (список исходных путей объектов для объединения)
GLOBALSTEXTмассив выходных данных (в первой ячейке путь созданного объединённого файла)
если при использовании параметра owrite<> файл будет пропущен, то путь не записывается.
GLOBALSTEXT1массив объединённых файлов (список путей файлов, вошедших в объединённый файл)
GLOBALSTEXT2массив необъединённых объектов (список путей объектов, которые не вошли в объединение)
GLOBALSTEXT3массив объединённых данных, по умолчанию он создаётся "пустым"
для создания к первому параметру List дописывается ??Output
Output - режим вывода данных (запись данных в глобальный массив):
  Описание
  0 - записать в буфер обмена без записи в глобальную переменную.
  1 - "как есть" (по умолчанию) запись информации в 1-ю ячейку массива.
  N - любое положительное число - запись в заданную ячейку (ячейка перезаписывается).
 -1 - разбить построчно (перезаписываются все ячейки, размер массива равен количеству строк).
 -2 - тоже что и -1 , но сохраняются пустые строки.
 -3 - разбить посимвольно.
 -4 - разбить по символу "|"
Разбить по заданному количеству строк:
 -5|(=)Count|Mode|Delim
    Count - количество строк.
    Mode [необязательный] - режим: 1 - удалять пустые строки (по умолчанию), 0 - не удалять.
    Delim [необязательный] - разделитель между строками (по умолчанию перенос строки).
  Если перед Count стоит знак "=", то текст разбивается на равное количество строк.
Разбить по разделителю, возможны варианты:
 -6delimiters - вся строка разделителя является разделителем, удаляются пустые ячейки.
 -7delimiters - каждый символ в разделителе строки является разделителем, удаляются пустые ячейки.
 -8delimiters - вся строка разделителя является разделителем.
 -9delimiters - каждый символ в разделителе строки является разделителем.
  delimiters - один или более символов используются как разделитель (с учетом регистра).
Разбить с помощью регулярных выражений:
 ~0!!RegExp
    RegExp - регулярное выражение для поиска см. Дополнение №2.
    Если строка начинается с ?Key то регулярное выражение берётся TCIMG.ini из секции [FormatUser] из ключа Key
Дублирование информации, возможны варианты:
 +N1,N2,...,Nk - запись информации в заданные номера ячеек, перечисленных через запятую.
 +N1:M1,N2:M2,...,Nk:Mk - запись информации в заданные диапазоны ячеек, перечисленных через запятую.
   Может использоваться объединённый вариант номеров и диапазонов, перечисленных через запятую.
   Могут использоваться отрицательные номера, если массив уже существует, отсчёт при этом производится с конца.

См. также:

chset, count, extra, extrf, textt, textx, txtsp, txtss, words, xlsxf, xlsxt

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

global stext=%WL??-1||"%t"//0||delim<@CRLF> GLOBALSTEXT3<a> ;; объединить содержимое выделенных текстовых файлы и записать построчно в глобальную переменную GLOBALSTEXT3

global stext=%WL??1||0 GLOBALSTEXT3<a> ;; объединить содержимое выделенных текстовых файлы (без создания общего файла) и записать в первую ячейку в глобальную переменную GLOBALSTEXT3

global stext=%WL??-1||0 GLOBALSTEXT3<a> ;; объединить содержимое выделенных текстовых файлы (без создания общего файла) и записать построчно в глобальную переменную GLOBALSTEXT3

global stext=%WL||"%t"//0//Summa GLOBALSTEXT0<a> GLOBALSTEXT<a> GLOBALSTEXT1<a> GLOBALSTEXT2<a> ;; объединить выделенные файлы в другую панель в файл Summa и передать различные списки

global stext=%WL||"%t"//0//Summa.txt||delim<@CRLFenum[1|1|1]@CRLF> ;; объединить выделенные текстовые файлы, вставив в начало содержимого каждого файла номер

global stext=%WL||"%t"//0||delim<@CRLF=======@CRLF>||upd<3> start=RAR||-IBCK||a||-ep||GLOBALSTEXT<1>.rar||GLOBALSTEXT<1>||&&wait delsm=GLOBALSTEXT<1>||1||upd<3> ;; объединить выделенные текстовые файлы в один файл и упаковать в архив rar с помощью WinRar, вставив в начало каждого "=======" и сохранить в другую панель именем первого файла

global stext=%WL||"%t"//0||delim<@CRLF=======@CRLF>||upd<3> start=RAR||-IBCK||a||-ep||GLOBALSTEXT<1>.rar||GLOBALSTEXT<1>||&&wait ;; объединить выделенные текстовые файлы, вставив в начало каждого "=======" и сохранить в другую панель именем первого файла, запаковать файл в rar с помощью WinRar

global stext=%WL||"%t"//0||delim<@CRLF=======@CRLF>||upd<3> zpacf=GLOBALSTEXT<1>||@//0 delsm=GLOBALSTEXT<1>||1||upd<3> ;; объединить выделенные текстовые файлы в один файл и упаковать в архив zip, вставив в начало каждого "=======" и сохранить в другую панель именем первого файла

global stext=%WL||"%t"//0||delim<@CRLF=======@CRLF>||upd<3> zpacf=GLOBALSTEXT<1>||@//0||upd<3> ;; объединить выделенные текстовые файлы, вставив в начало каждого "=======" и сохранить в другую панель именем первого файла, запаковать файл в zip

global stext=%WL||$f254//0||delim<@CRLF> textv=GLOBALSTEXT<1> tempxx ;; просмотреть в textv содержимое выделенных файлов

global txtsp=%P%N||"%t"||6!!</p><p>||formt<63,20> stext=$GLOBALTXTSP||"%t"//0//Result.txt||delim<@CRLF{{/p}}{{p}}@CRLF!!1>||upd<3> ;; разбить текстовый файл под курсором по фразе "</p><p>", создавая в другой панели файлы с содержимым разбитых фрагментов, сортируя строки по числовому возрастанию + далее собрать файлы в один Result.txt

global txtsp=%P%N||%%TCIMG_TEMP%%||6!!#METKA#||formt<63,20> stext=$GLOBALTXTSP||"%p"//1//<info=f13GLOBALTXTSP0<1>//>||delim<@CRLF#METKA#@CRLF!!1>||upd<1> tempxx ;; сортировать в файле под курсором строки между метками "#METKA#" по числовому возрастанию

imgpr=1 stext=%WL||"%t"//0//Summa||formt<html1,1> ;; извлечь из выделенных html все ссылки в теге href и сохранить в файл

itray=3 stext=FOLDC<%WL//1//-1//*.css>||x||?Ftag458||formt<1>||xline<^^¤;;^^@@o75::;;?F63,fnc_path>||clip<> listx=cliplist||2 xlist=$GLOBALLISTX1 wlist=$GLOBALLISTX GLOBALXLIST<a> GLOBALWLIST<a> ;; извлечь в буфер из файлов css внутри выделенных каталогов, пути к изображениям (jpg,png,gif) и заменить относительный путь к изображению (../) на абсолютный путь, исходя из расположения каждого файла css + проверить пути на существование и вывести результат - GLOBALXLIST - не существующие пути, а GLOBALWLIST - пути к реальным файлам

itray=3 stext=FOLDC<%WL//1//-1//*.css>||x||?Ftag458||formt<1>||xline<^^¤;;^^@@o75::;;?F63,fnc_path>||clip<>
;; извлечь в буфер из файлов css внутри выделенных каталогов, пути к изображениям (jpg,png,gif) и заменить относительный путь к изображению (../) на абсолютный путь, исходя из расположения рабочей ссылки на изображение для каждого файла css

sends=PS<"%p"//1//0//*//0//0//3> anf2d=$f212\Selection.txt||7||(.+)\R+(.+)||$1|$2 arr2d=$GLOBALANF2D||46|0|StringInStr($GLOBALSENDS[1],'::')>0 stext=$GLOBALARR2D1??1||0||delim<@CRLF> bends=PS<"%p"//0//0//*//0//0//4>||^^GLOBALSTEXT3<x1>@CRLF||?F28 tcprm=LOADSELECTION||GLOBALBENDS<t> ;; в активной панели выделить все объекты кроме тех, которые есть в разных списках относительно найденных имён (имена и пути к спискам прописаны в Selection.txt)

sends=PS<"%p"//1//0//*//0//0//3> anf2d=$f212\Selection.txt||7||(.+)\R+(.+)||$1|$2 arr2d=$GLOBALANF2D||46|0|StringInStr($GLOBALSENDS[1],'::')>0 stext=$GLOBALARR2D1??1||0||delim<@CRLF> tcprm=LOADSELECTION||GLOBALSTEXT3<t> tcimg=$cmcm_ExchangeSelection ;; в активной панели выделить все объекты кроме тех, которые есть в разных списках относительно найденных имён (имена и пути к спискам прописаны в Selection.txt)

sends=PS<"%p"//1//0//*//0//0//3> anf2d=$f212\Selection.txt||7||(.+)\R+(.+)||$1|$2 arr2d=$GLOBALANF2D||46|0|StringInStr($GLOBALSENDS[1],'::')>0 stext=$GLOBALARR2D1??1||0||delim<@CRLF> tcprm=LOADSELECTION||GLOBALSTEXT3<t> ;; в активной панели выделить объекты по разным спискам относительно найденных имён (имена и пути к спискам прописаны в Selection.txt)

sends=test12345 stext=%WL||"%t"//0//href-image.txt||?Ftag221||formt<1>||xline<$$¤;;$$@@f1::|1;;$$¤;;$$@@o73::> ;; извлечь из выделенных html файлов ссылки на изображения и добавить в конец каждой строки контрольную сумму MD5 (взятую из извлекаемого файла) и его имя с расширением, через разделитель ¤

slist=%WL forpgs <FOR> 1 <TO> GLOBALSLIST<0> stext=PS<GLOBALSLIST<:INDEX:>//1//0//*.txt>||GLOBALSLIST<:INDEX:>//0//Summa <NEXT> ;; в каждой из выделенных папок объединить файлы txt, создав файлы Summa.txt

slist=%WL stext=$GLOBALSLIST||"%%TCIMG_TEMP%%"//0//Extract.txt||formt<tag77,1> stext=$GLOBALSLIST||"%%TCIMG_TEMP%%"//0//Extract.txt||formt<tag78,1> stext=PS<%%TCIMG_TEMP%%//1//0//*.txt>||x||delim<@CRLF>||formt<1,63,56,54,51>||clip<> pause=500 tempxx ;; произвести экстракцию b64 кода из выделенных файлов css, html построчно в буфер

slist=@%P%N stext=%WL||"%p"//1||delim<@CRLF>||formt<59> textt=GLOBALSLIST<1>||##||backup<0> ;; объединить выделенные текстовые файлы с сохранением в активной панели именем первого файла (с заменой) и удалить содержимое файла под курсором

stext=%P%N||"%p"//0//Summa.txt||upd<1> ;; объединить файлы из файл списка под курсором и сохранить в активную панель именем Summa.txt

stext=%WL||"%p"//0//"%O"||delim<@CRLF=====================@CRLF>||upd<3> ;; объединить выделенные текстовые файлы, вставив в начало каждого "=======" и сохранить в ЭТУ панель именем файла под курсором

stext=%WL||"%p"//0//x.txt||<srlist=%T%M|#|1> ;; объединить выделенные текстовые файлы и сохранить общий файл в текущую панель + произвести поиск и замену по списку из файла другой панели (двойная обработка поиска и замены)

stext=%WL||"%p"//0//x.txt||<srlist=%T%M> ;; объединить выделенные текстовые файлы и сохранить общий файл в текущую панель + произвести поиск и замену по списку из файла другой панели

stext=%WL||"%p"//0//x.txt||<srlist=c:\Test\Test.ini|Replace|1> ;; объединить выделенные текстовые файлы и сохранить общий файл в текущую панель + произвести поиск и замену по списку из файла Test.ini, прописанных в секции [Replace] (двойная обработка поиска и замены)

stext=%WL||"%p"//0//x.txt||<srlist=c:\Test\Test.ini|Replace> ;; объединить выделенные текстовые файлы и сохранить общий файл в текущую панель + произвести поиск и замену по списку из файла Test.ini, прописанных в секции [Replace]

stext=%WL||"%p"//0//x.txt||<srlist=c:\Test\Test.txt|#|1> ;; объединить выделенные текстовые файлы и сохранить общий файл в текущую панель + произвести поиск и замену по списку из файла Test.txt (двойная обработка поиска и замены)

stext=%WL||"%p"//0//x.txt||<srlist=c:\Test\Test.txt> ;; объединить выделенные текстовые файлы и сохранить общий файл в текущую панель + произвести поиск и замену по списку из файла Test.txt

stext=%WL||"%p"//0//x.txt||openn<%%COMMANDER_PATH%%\AkelPad.exe|1> ;; объединить выделенные текстовые файлы и сохранить общий файл в текущую панель + открыть общий файл в редакторе AkelPad

stext=%WL||"%p"//0//x.txt||openn<%%COMMANDER_PATH%%\AkelPad.exe|a1> ;; объединить выделенные текстовые файлы и сохранить общий файл в текущую панель + открыть 1-й объединяемый файл в редакторе AkelPad

stext=%WL||"%p"//0//x.txt||openn<%%COMMANDER_PATH%%\AkelPad.exe|a-1> ;; объединить выделенные текстовые файлы и сохранить общий файл в текущую панель + открыть все объединяемые файлы в редакторе AkelPad

stext=%WL||"%p"//0//x.txt||openn<%%COMMANDER_PATH%%\AkelPad.exe|a1-5> ;; объединить выделенные текстовые файлы и сохранить общий файл в текущую панель + открыть с 1 по 5 объединяемые файлы в редакторе AkelPad

stext=%WL||"%p"//0//x.txt||openn<%%COMMANDER_PATH%%\AkelPad.exe|z-1> ;; объединить выделенные текстовые файлы и сохранить общий файл в текущую панель + открыть все объединяемые и общий файлы в редакторе AkelPad

stext=%WL||"%p"//0||delim<@CRLF=======@CRLF> ;; объединить выделенные текстовые файлы, разделив содержимое каждого "=======" и сохранить в активную панель именем первого файла, подключив счетчик

stext=%WL||"%p"//0||delim<@CRLF> ;; объединить выделенные текстовые файлы, содержимое каждого файла с новой строки и сохранить в активную панель именем первого файла, подключив счетчик

stext=%WL||"%p"//1||delim<@CRLF>||formt<59> ;; объединить выделенные текстовые файлы с сохранением в активной панели именем первого файла (с заменой), удалить первые пустые строки

stext=%WL||"%t"//0 ;; объединить выделенные текстовые файлы и сохранить в другую панель именем первого файла

stext=%WL||"%t"//0//[combo=BOX2].txt||delim<@CRLF=======@CRLF>||upd<3> ;; объединить выделенные текстовые файлы, вставив в начало каждого "=======" и сохранить в другую панель именем первого файла, имя файла выбирается в диалоге

stext=%WL||"%t"//0//[input=BOX9]||delim<@CRLF=======@CRLF>||upd<3> ;; объединить выделенные текстовые файлы, вставив в начало каждого "=======" и сохранить в другую панель, имя файла выбирается в диалоге

stext=%WL||"%t"//0//CLIP."%E"||formt<clip1,1>||upd<3>||progres<> ;; из выделенных текстовых файлов извлечь строки, в которых есть фраза из буфера обмена (учитывать регистр символов), удалив дубликаты и сохранить в один файл в другую панель

stext=%WL||"%t"//0//CLIP."%E"||formt<clip2,1>||upd<3>||progres<> ;; из выделенных текстовых файлов извлечь строки, в начале которых есть фраза из буфера обмена (учитывать регистр символов), удалив дубликаты и сохранить в один файл в другую панель

stext=%WL||"%t"//0//CLIP."%E"||formt<clip3,1>||upd<3>||progres<> ;; из выделенных текстовых файлов извлечь строки, в конце которых есть фраза из буфера обмена (учитывать регистр символов), удалив дубликаты и сохранить в один файл в другую панель

stext=%WL||"%t"//0//CLIP."%E"||formt<clip4,1>||upd<3>||progres<> ;; из выделенных текстовых файлов извлечь строки, в которых есть фраза из буфера обмена (не учитывать регистр символов), удалив дубликаты и сохранить в один файл в другую панель

stext=%WL||"%t"//0//CLIP."%E"||formt<clip5,1>||upd<3>||progres<> ;; из выделенных текстовых файлов извлечь строки, в начале которых есть фраза из буфера обмена (не учитывать регистр символов), удалив дубликаты и сохранить в один файл в другую панель

stext=%WL||"%t"//0//CLIP."%E"||formt<clip6,1>||upd<3>||progres<> ;; из выделенных текстовых файлов извлечь строки, в конце которых есть фраза из буфера обмена (не учитывать регистр символов), удалив дубликаты и сохранить в один файл в другую панель

stext=%WL||"%t"//0//ExMenu.txt||&?(?im)((?:button|param|menu)\d+=[^\r\n]+)||&&(?im)^(button.*$)!!----------||&&(?im)^((?:param|menu)\d+=)!!||code<1>||upd<3> ;; из выделенных BAR файлов извлечь параметры param и menu, разделённые "------" без названия параметров, создав общий файл

stext=%WL||"%t"//0//Summa ;; объединить выделенные текстовые файлы и сохранить в другую панель именем Summa и расширением первого файла

stext=%WL||"%t"//0//Summa.txt ;; объединить выделенные текстовые файлы и сохранить в другую панель именем Summa.txt

stext=%WL||"%t"//0//Summa.txt||&?(?m).*\.(\d+)''$||&&(?m)^(.+)$!!~~''$1'':<info=f12:://>||delim<@CRLF=======@CRLF>||progres<>||upd<3> ;; объединить выделенные текстовые файлы и сохранить в другую панель именем первого файла, из каждого файла получить заданные цифры и добавить имя текущего файла

stext=%WL||"%t"//0//Summa.txt||delim<@CRLF====~~<info=f10:://>~~====@CRLF>||upd<3> ;; объединить выделенные текстовые файлы, вставив в начало каждого "====" Путь файла "====" и сохранить в другую панель именем Summa.txt

stext=%WL||"%t"//0//Summa.txt||formt<70,54,56,62>||upd<2> ;; конвертировать выделенные html в txt, объединить и сохранить в другую панель именем Summa.txt

stext=%WL||"%t"//0//Summa||formt<html1,1>||openn<%%COMMANDER_PATH%%\AkelPad.exe|1>||progres<> ;; извлечь из выделенных html все ссылки в теге href, сохранить в файл и открыть в AkelPad

stext=%WL||"%t"//0//Summa||progres<> ;; объединить выделенные текстовые файлы и сохранить в другую панель именем Summa и расширением первого файла с прогрессом

stext=%WL||"%t"//0//x.txt||formt<70,54,56,62>||first<2>||upd<2> ;; конвертировать выделенные html в txt, объединить и сохранить в другую панель именем первой строки и расширением txt

stext=%WL||"%t"//0||#Zпривет ;; объединить выделенные текстовые файлы и сохранить в другую панель именем первого файла, дописать в конец содержимого слово "привет"

stext=%WL||"%t"//0||??1 ;; объединить выделенные текстовые файлы и сохранить в другую панель именем первого файла, перевести содержимое в нижний регистр

stext=%WL||"%t"//0||?T|f,1,2,3,-1,-2,-3||upd<3>||delim<@CRLF> ;; объединить выделенные текстовые файлы, удалив в каждом первые и последние 3 строки, и сохранить в другую панель именем первого файла

stext=%WL||"%t"//0||delim<@CRLF!!1>||formt<60> ;; объединить выделенные текстовые файлы и сохранить в другую панель именем первого файла (разделитель: перенос строки), удалить последние переносы

stext=%WL||"%t"//0||delim<@CRLF====~~<info=f10:://>~~====@CRLF>||upd<3> ;; объединить выделенные текстовые файлы, вставив в начало каждого "====" Путь файла "====" и сохранить в другую панель именем первого файла

stext=%WL||"%t"//0||delim<@CRLF=======@CRLF!!3>||upd<3> ;; объединить выделенные текстовые файлы, вставив между содержимым "=======" и сохранить в другую панель именем первого файла

stext=%WL||"%t"//0||delim<@CRLF=======@CRLF> ;; объединить выделенные текстовые файлы, вставив в начало каждого "=======" и сохранить в другую панель именем первого файла

stext=%WL||"%t"//0||delim<@CRLF=======@CRLF>||upd<3> ;; объединить выделенные текстовые файлы, вставив в начало каждого "=======" и сохранить в другую панель именем первого файла

stext=%WL||"%t"//0||xline<$$~~::> ;; объединить выделенные текстовые файлы и сохранить в другую панель именем первого файла. В каждую строку добавить в конец путь файла

stext=%WL||"%t"//0||xline<$$~~;;$$@@f13::> ;; объединить выделенные текстовые файлы и сохранить в другую панель именем первого файла. В каждую строку добавить в конец имя с расширением файла

stext=%WL||"%t"//0||xline<^^::~~> ;; объединить выделенные текстовые файлы и сохранить в другую панель именем первого файла. В каждую строку добавить в начало путь файла

stext=%WL||"%t"//0||xline<^^~~;;^^@@f13::> ;; объединить выделенные текстовые файлы и сохранить в другую панель именем первого файла. В каждую строку добавить в начало имя с расширением файла

stext=%WL||"%t"//0||zebr<1|2|1>||delim<@CRLF!!1>||upd<3> ;; объединить выделенные текстовые файлы, оставить строки через одну и сохранить в другую панель именем первого файла

stext=%WL||"%t"//9||owrite<2|1> ;; объединить выделенные текстовые файлы и сохранить в другую панель именем первого файла с условиями при его существовании: если контрольные суммы не совпадают, то прибавить счётчик, если совпадают, то не создавать

stext=%WL||"%t"//9||owrite<3|1> ;; объединить выделенные текстовые файлы и сохранить в другую панель именем первого файла с условиями при его существовании: если контрольные суммы не совпадают, то прибавить счётчик, если совпадают, то перезаписать

stext=%WL||"%t"//9||owrite<4|1> ;; объединить выделенные текстовые файлы и сохранить в другую панель именем первого файла с условиями при его существовании: если контрольные суммы не совпадают, то перезаписать, если совпадают, то пропустить

stext=%WL||"%t"//9||owrite<5|1> ;; объединить выделенные текстовые файлы и сохранить в другую панель именем первого файла с условиями при его существовании: если контрольные суммы не совпадают, то перезаписать, если совпадают, то прибавить счётчик

stext=%WL||"%t"//9||owrite<6|1> ;; объединить выделенные текстовые файлы и сохранить в другую панель именем первого файла с условиями при его существовании: если контрольные суммы не совпадают, то пропустить, если совпадают, то перезаписать

stext=%WL||"%t"//9||owrite<7|1> ;; объединить выделенные текстовые файлы и сохранить в другую панель именем первого файла с условиями при его существовании: если контрольные суммы не совпадают, то пропустить, если совпадают, то прибавить счётчик

stext=%WL||x||clip<>||delim<@CRLF>||formt<59> ;; записать содержимое выделенных файлов в буфер обмена

stext=%WL||x||delim<@CRLF--------//---------@CRLF>||clip<> ;; записать в буфер содержимое выделенных текстовых файлов, разделитель --------//---------

stext=%WL||x||eline<привет!!пока>||clip<> ;; записать в буфер содержимое выделенных текстовых файлов, вставить в каждую строку слева "привет", справа "пока"

stext=%WL||x||formt<1>||clip<1|@CRLF-----@CRLF> ;; объединение выделенных текстовых файлов записать в начало буфера обмена с заданным разделителем

stext=%WL||x||formt<1>||clip<1> ;; объединение выделенных текстовых файлов записать в начало буфера обмена

stext=%WL||x||formt<1>||clip<2|@CRLF-----@CRLF> ;; объединение выделенных текстовых файлов записать в конец буфера обмена с заданным разделителем

stext=%WL||x||formt<1>||clip<2> ;; объединение выделенных текстовых файлов записать в конец буфера обмена

stext=%WL||x||formt<6,1>||clip<> ;; извлечь все ссылки из выделенных файлов, удалить дубликаты и записать в буфер обмена

stext=%WL||x||formt<6,1>||clip<1|x|2> ;; извлечь все ссылки из выделенных файлов, удалить дубликаты, записать в буфер обмена; если буфер изменился, то издать звуковой сигнал

stext=%WL||x||formt<u1>||clip<> ;; форматировать выделенные текстовые файлы пользовательским шаблоном №1 и записать в буфер обмена

stext=%WL||x||formt<u2,1>||clip<> ;; форматировать выделенные текстовые файлы пользовательским шаблоном №2 + удалить дубликаты и записать в буфер обмена

stext=[tc=AM]||x//9//href-extract.txt//||owrite<2|1>||?F6||formt<1,63>||openn<$f300\AkelPad.exe|1>||progres<> ;; из выделенных файлов получить ссылки, сохранить в файл и открыть в AkelPad, если файл существует и данные равны, то файл не создавать и не открывать

stext=cliplist||"%p"//0//Summa.txt||eline<"%P"!!>||upd<1> ;; объединить файлы по списку из буфера обмена и сохранить в активную панель именем Summa.txt, добавив в каждую строку слева путь активной панели

stext=cliplist||"%p"//0//Summa.txt||upd<1> ;; объединить файлы по списку из буфера обмена и сохранить в активную панель именем Summa.txt

stext=FOLDC<%WL//0//1//*ion>||"%p"//1//List_descript.txt||delim<@CRLF====~~<info=f61:://>~~===@CRLF> ;; объединить все файлы descript.ion выделенных папок и создать в активной панели файл List_descript.txt, вставив в начало каждого содержимого "==== Имя родительской папки файла ===="

stext=FOLDC<%WL//0//1//*ion>||"%p"//1//List_descript.txt||delim<@CRLF=======@CRLF> ;; объединить все файлы descript.ion выделенных папок и создать в активной панели файл List_descript.txt, вставив в начало каждого содержимого "======="

stext=FOLDC<%WL//0//1//*ion>||"%p"//1//Список~~программ,~~входящих~~в~~сборку.txt||delim<@CRLF====~~<info=f61:://>~~====@CRLF>||formt<63,desc1,desc2,desc3,desc4,desc5,desc6,desc8>||upd<1> ;; объединить все файлы descript.ion выделенных папок и создать в активной панели файл List_descript.txt, вставив в начало каждого содержимого "==== Имя родительской папки файла ====" + отформатировать...

stext=LISTF<C:\1.txt/C:\2.txt/C:\3.txt>||"%p"//0//Summa||delim<@CRLF!!3>||upd<1> ;; объединить содержимое файлов c:\1.txt, c:\2.txt, c:\3.txt с разделителем в другую панель именем Summa и расширением первого файла

stext=LISTF<c:\test1.txt/c:\test2.txt/c:\test3.txt>||"%t"//0//Summa ;; объединить содержимое файлов c:\test1.txt, c:\test2.txt, c:\test3.txt без разделителя в другую панель именем Summa и расширением первого файла

stext=LISTF<LIST1>||"%t"//0//Summa ;; объединить содержимое файлов прописанных в TCIMG.ini в секции Setting в ключе FilesList1 без разделителя в другую панель именем Summa и расширением первого файла

stext=PS<%%COMMANDER_PATH%%\log\//1//0//*.log>||"%p"//0//Upload_full_tablelog-@<info=s47>.html||formt<log1,log2,log3,log4,log5,tab12,tab1,tab2,tab3,tab4,tab5,tab6,tab7,log6>||code<4>||tcg<HTML7> ;; создать из файлов отчёта (*log) команд picus и picup файл html в виде таблицы отображающий историю загрузок изображений

stext=PS<%%COMMANDER_PATH%%\LOG\//1//0//*.log>||x||clip<>||delim<@CRLF=======@CRLF>||formt<1> ;; записать в буфер обмена содержимое всех файлов *log, находящихся в папке LOG, предварительно удалив дубликаты строк


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