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


txtss

Разбить текстовые файлы.

txtss=%L,%WL||cliplist||LISTF<>||PS<>||FOLDC<>||FOLDM<>||LISTC<>||FLST<>||$var_aa||$GLOBALNAME||Path, %p, %t||Mode, ||namedir<>||owrite<>||Dialogs||clpget||upd<>||<info>||<xinfo>||namesplit<>||linesp<>||string[]||enum[]||test<>||namec<>||tcg<>||code<>||nozero<>

Параметры:

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, %p, %tПуть. Path - путь назначения, где создаются файлы с частями текстового файла.
Возможно использование <info> с :: , где вместо :: информация берётся относительно текущего файла.
3-й обязательный параметр.
ModeРежим разбивки файла. Параметр Mode(!!Parameters), где: Mode
  1 - построчная разбивка.
  Может использоваться три необязательных параметра Count!!Start!!End, разделённые !! :
    1) Count - по сколько строк разбивать (по умолчанию 1).
         =Count - разбивать на равное количество строк.
         Min~Max - диапазон строк, файл разбивается случайным количеством строк в заданном диапазоне.
    2) Start - с какой строки начать (по умолчанию с 1-й).
    3) End - до какой строки разбивать (по умолчанию до конца).

  2 - разбивка INI файла по секциям.
  Может использоваться необязательный параметр:
    1 - к имени прибавляется имя секции.

  3 - разбивка INI файла по секциям (сохранение комментариев перед секциями).
  Может использоваться необязательный параметр:
    1 - к имени прибавляется имя секции.

  4 - разбивка по фрагментам, получаемых с помощью регулярного выражения.
  В параметре прописывается:
     • RegExp регулярное выражение.
     • ??Key - ключ из TCIMG.ini из секции [FormatUser], в котором прописано регулярное выражение.

  5 - разбивка по элементам массива. Вместо FileTXT прописывается имя массива.
  Могут использоваться:
    - имена глобальных массивов GLOBALNAME см. Дополнение №23.
    - имена переменных var_... без префикса $ , созданных командой exect.
  Может использоваться 3 необязательных параметра Name!!Ext!!Start, разделённые !! :
    1) Name - имя создаваемых файлов (по умолчанию имя массива).
    2) Ext - расширение (по умолчанию txt).
    3) Start - с какого элемента начать (по умолчанию с нулевого 0).

  6 - разбивка по заданной строке (вся строка является разделителем).

  7 - разбивка по заданной строке (каждый символ строки является разделителем).

  8 - разбивка по заданной строке регулярного выражения.
  В параметре прописывается:
     • RegExp регулярное выражение.
     • ??Key - ключ из TCIMG.ini из секции [FormatUser], в котором прописано регулярное выражение.

  9 - разбивка INI файла по секциям (без добавлении имени секции в содержимое файлов).
  Может использоваться необязательный параметр:
    1 - к имени прибавляется имя секции.
Дополнительные параметры:
namedir<>Именные папки. Параметр namedir<Number>, где Number:
  0 - не создавать именные папки.
  1 - создавать именные папки для каждого файла и помещать в них разбиваемые файлы.
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
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] - диалог выбора файлов и папок.
...и другие диалоги.
clpgetИз буфера обмена. Параметр clpget может использоваться совместно с другими параметрами, clpget будет заменён содержимым буфера обмена.
upd<>Обновление панели.
  Описание
Параметр upd<Number>, где Number - значение обновления панели(ей) Total Commander:
  1 - обновить активную панель.
  2 - обновить обе панели, вернуться в активную.
  3 - обновить другую панель, вернуться в активную.
  4 - обновить активную панель, перейти в другую.
  5 - обновить другую панель, остаться в другой.
  6 - обновить обе панели, остаться в другой.
  7 - не обновлять (по умолчанию, т.е. если параметр не прописан, то панели не обновляются).
<info>Получение различной информации. см. Дополнение №10.
<xinfo>Получение различной информации. см. Дополнение №10.
  Аналог параметра <info>, имеет возможность внутри параметра использовать параметр <info>
  Пример: <xinfo=o450<info=f50FilePath//>//>
namesplit<>Имя. Параметр namesplit<String> позволяет сохранять файлы с заданным именем, где String - варианты:
  Name.Ext - Name - базовое имя файла, Ext - расширение. К базовому имени прибавляется счётчик.
  **SeriesParam - позволяет получать имя файла относительно содержимого текста, где SeriesParam - серия параметров для преобразования. см. Дополнение №24 (Разделитель между параметрами ;; ).
  List - список имён файлов, возможны варианты:
    с:\List.txt - путь к файлу имён.
    $GLOBALNAME - список имён глобальной переменной.
linesp<>Вставка. Параметр linesp<LINE1!!LINE2> - позволяет в текст добавить: LINE1 - строка в начало, LINE2 - строка в конец. Разделитель !!.
При пустых значениях разделитель обязателен.
Угловые скобки заменяются соответствующими двойными фигурными.
Возможны варианты:
  • String - строка.
  • @Path - путь объекта (символ @ отбрасывается).
  • cliptext - текст из буфера обмена.
  • File - полный путь к файлу, берётся его содержимое.
  • GLOBALNAME<xN> - информация из глобальных переменных см. Дополнение №23.
Так же возможно использование параметров enum[] и string[].
string[]Дубликат. Параметр string[Count|String], позволяет размножить заданную строку String, где Count - количество раз.
enum[]Счётчик для содержимого создаваемых файлов.
  Описание
Параметр enum[Begin|Step|Count], где:
  Begin - начальное число.
  Step - шаг счётчика.
  Count - количество цифр в счётчике.
Так же поддерживается буквенный счётчик: enum[Letter|Step|Count], где:
  Letter - буква с которой начать отсчёт.
  Step - шаг счётчика.
  Count - количество букв в счётчике.

Могут применяться 2 варианта:
  1. В котором используются все три подпараметра [A|3|2] - аналог счётчика в диалоге переименования в Total Commander
  2. В котором используется только первые два [A+] или [A+|1] (к символу с которого начинать дописывается +)

Счётчик может быть как латинским, так и кириллицей, в зависимости от заданной буквы Letter
test<>Проверка прохождения объекта под определённые условия. см. Дополнение №16.
namec<>Не присваивать счётчик. Параметр namec<> позволяет не добавлять счётчик к имени при единственном создаваемом файле при разбивке.
tcg<>Вставка. Параметр tcg<NameSection> - где NameSection - имя секции в файле .tcg. В секции прописывается любой текст, а также тег "##center##" в нужном месте, вместо которого будет вставлен преобразованный текст файла см. Дополнение №31.
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.
  По умолчанию кодировка оригинального файла.
nozero<>Номер. Параметр nozero<Number> , где Number :
  0 - обычный счётчик (по умолчанию).
  1 - счётчик без начальных нулей.
  2 - счётчик без начальных нулей, первое имя без счётчика.
  3 - не добавлять счётчик.
  4 - без добавлении имени файла (к секции).

Примечания:

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

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

Имя переменнойОписание
GLOBALTXTSS0массив входных данных (список путей исходных текстовых файлов)
GLOBALTXTSSмассив выходных данных (список путей созданных файлов)
GLOBALTXTSS1массив выходных данных (список путей исходных файлов, которые были разбиты)
GLOBALTXTSS2массив выходных данных (список путей исходных файлов, которые не были разбиты)

См. также:

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

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

global txtss=%WL||"%t"||1!!5||namedir<1>||progres<> GLOBALTXTSS0<a> GLOBALTXTSS<a> ;; разбить выделенные текстовые файлы по 5 строк, создавая в другой панели в именных папках файлы со строками с отображением прогресс бара и получить данные разбивки

global txtss=%WL||"%t"||test<1e!!txt>||1!!5||namedir<1>||progres<> GLOBALTXTSS0<a> GLOBALTXTSS<a> GLOBALTXTSS1<a> GLOBALTXTSS2<a> ;; разбить из выделенных текстовых файлов только txt по 5 строк, создавая в другой панели в именных папках файлы со строками с отображением прогресс бара и получить данные разбивки

global txtss=%WL||"%t"||test<1e!!txt>||1!!5||namedir<1>||progres<> ;; разбить из выделенных текстовых файлов только txt по 5 строк, создавая в другой панели в именных папках файлы со строками с отображением прогресс бара

txtss=%WL||"%p\temp\<info=f1:://>.txt"||1!!5 ;; разбить выделенные текстовые файлы по 5 строк, создавая файлы со строками в активной панели в папке temp в именные папки хешей файлов

txtss=%WL||"%t"||1!!5 ;; разбить выделенные текстовые файлы по 5 строк, создавая в другой панели файлы со строками

txtss=%WL||"%t"||1!!5||namedir<1> ;; разбить выделенные текстовые файлы по 5 строк, создавая в другой панели в именных папках файлы со строками

txtss=%WL||"%t"||1!!5||namedir<1>||progres<> ;; разбить выделенные текстовые файлы по 5 строк, создавая в другой панели в именных папках файлы со строками с отображением прогресс бара


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