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


extrf

Извлечение с преобразованием и сохранение различной информации содержимого текстового файла.

extrf=File||Path, ||...

Параметры:

1-й обязательный параметр.
FileПуть к файлу. Полный путь к файлу, возможные варианты:
  • Абсолютный путь c:\test.txt
  • Путь через параметры %P%N см. Дополнение №7.
  • Относительный путь %COMMANDER_PATH%\test.txt
  • Относительный путь $f06\test.txt см. Дополнение №8.
  • Путь возвращаемый параметром <xfolder> см. Дополнение №11.
  • Путь возвращаемый глобальными переменными см. Дополнение №23
  • Путь возвращаемый параметром [tc] см. Дополнение №12
2-й обязательный параметр.
PathПуть.
Path(!!Flag!!Name.Ext!!Insert). Подпараметры разделяются символами !!
  Может быть от 1-го (обязательного) до 4-х подпараметров
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 , то путь/имя/расширение берётся из пути оригинального файла.
Та же действует конструкция пути Path//Flag//RegExp//Replace, где:
  Path - путь назначения (если в параметрах необходимо использовать путь объекта, то используйте два двоеточия ::).
  Flag - см. выше
  RegExp//Replace - строка разделённая символами // означает изменение пути Path (путь назначения) с регулярными выражениями: первая часть "что искать", вторая "чем заменять" см. Дополнение №2.
Если преобразование пути заканчивается обратным слешем, то он является путём назначением, если нет, то файлом.
Дополнительные параметры:
...Аналог. Остальные параметры те же, что и у команды extra.

Примечания:

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

Имя переменнойОписание
GLOBALEXTRF0массив входных данных (в первой ячейке путь исходного объекта)
GLOBALEXTRFмассив выходных данных (в первой ячейке путь файла с извлечённой информацией или путь объекта из которого она не была извлечена)
GLOBALEXTRF1массив из файла (в первой ячейке путь файла с извлечённой информацией)
GLOBALEXTRF2массив из объекта (в первой ячейке путь объекта из которого информация не была извлечена)
GLOBALEXTRF3массив из файла (в первой ячейке путь файла из которого информация была извлечена)

См. также:

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

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

extrf=$f99?Rename||"%p"//1//Rename.txt||formt<tc2>||upd<1> ;; сохранить в активную панель список имён шаблонов переименования

extrf=$f99?Searches||"%p"//1//Searches.txt||formt<tc1> ;; сохранить в активную панель список имён шаблонов поиска

extrf=%%COMMANDER_PATH%%\Utilities\Scripting\AutoIt\SciTE\Obfuscator\Obfuscator.Log||%%COMMANDER_PATH%%\MyFiles\//1//TCIMGT_P.txt||?Fobf1||#L3||?Fobf5||ending<0>||openn<%%COMMANDER_PATH%%\AkelPad.exe|1> ;; извлечь из файла Obfuscator.Log все пары имён функций обфустированного скрипта

extrf=%%COMMANDER_PATH%%\Utilities\Scripting\AutoIt\SciTE\Obfuscator\Obfuscator.Log||%%COMMANDER_PATH%%\MyFiles\//1//TCIMGT_P.txt||?Fobf3||#L3||?Fobf4||ending<0>||openn<%%COMMANDER_PATH%%\AkelPad.exe|1> ;; извлечь из файла Obfuscator.Log все пары имён переменных обфустированного скрипта

extrf=%P%N||"%p"//0//Log_x.txt||formt<0!!(Сообщение[^\r\n]+)>||ending<0>||upd<1> ;; из файла под курсором извлечь заданные строки и сохранить в файл в той же папке в файл Log_x.txt

extrf=%P%N||"%p//0//%O_cpm.%E"||compare<%T%M|1> ;; извлечь из содержимого файла под курсором уникальные строки, которых нет в содержимом файла другой панели и результат сохранить в именной файл с приставкой _cpm в активную панель

extrf=%P%N||"%p//0//%O_cpm.%E"||compare<cliptext|1> ;; извлечь из содержимого файла под курсором уникальные строки, которых нет в содержимом буфера обмена и результат сохранить в именной файл с приставкой _cpm в активную панель

extrf=%P%N||"%p//0//%O_dubl.%E"||compare<%T%M|2> ;; извлечь одинаковые строки из содержимого файла под курсором и содержимого файла другой панели и результат сохранить в именной файл с приставкой _dubl в активную панель

extrf=%P%N||"%p//0//%O_dubl.%E"||compare<cliptext|2> ;; извлечь одинаковые строки из содержимого файла под курсором и содержимого буфера обмена и результат сохранить в именной файл с приставкой _dubl в активную панель

extrf=%P%N||"%p//0//%O_lines.%E"||compare<cliptext|3,0,1>||upd<1> ;; извлечь из содержимого файла под курсором строки, которые не содержат фразы из буфера обмена и результат сохранить в именной файл с приставкой _lines в активную панель

extrf=%P%N||"%p//0//%O_lines.%E"||compare<cliptext|3,0>||upd<1> ;; извлечь из содержимого файла под курсором строки, которые содержат фразы из буфера обмена и результат сохранить в именной файл с приставкой _lines в активную панель

extrf=%P%N||"%p//0//%O_test.%E"||formt<6>||recap<1>||upd<1> ;; из файла под курсором извлечь все ссылки, сохранив в файл в активной панели (не создавать, если нет ссылок)

extrf=%P%N||"%p//0//%O_test.%E"||formt<6>||recap<2>||upd<1> ;; из файла под курсором извлечь все ссылки, сохранив в файл в активной панели

extrf=%P%N||"%p//0//%O_test.%E"||formt<6>||upd<1> ;; из файла под курсором извлечь все ссылки, сохранив в файл в активной панели (не создавать, если нет ссылок или исходный файл равен новому)

extrf=%P%N||"%p//0//%O_test.%E"||formt<u10> ;; извлечь из содержимого файла под курсором все фразы между одинарными или двойными кавычками и сохранить в активной панели с приставкой _test

extrf=%P%N||"%t"//0||zebr<1|2|1>||upd<3> ;; из содержимого текстового файла извлечь строки через одну и сохранение в другую панель в именные файлы с добавлением к базовому имени _plus

extrf=c:\документ№2.txt||"%p//0//документ№2_cpm.%E"||compare<c:\файл-список№1.txt|4,0> ;; удалить из содержимого c:\документ№2 все строки в начале которых нет фраз из c:\файл-список№1.txt

extrf=W:\1\descript.ion||"%p//0//descript.txt"||formt<63,desc1,desc2,3,desc3,desc4,desc5,desc6,desc7>||upd<1> ;; извлечь из заданного файла descript.ion информацию и создать файл descript.txt в активной панели

forpgs slist=%WL <FOR> 1 <TO> GLOBALSLIST<0> extrf=GLOBALSLIST<:INDEX:>||formt<u19>||<info=f15GLOBALSLIST<:INDEX://>>//0//x.txt <NEXT> ;; произвести экстракцию фрагмента из выделенных html файлов (шаблон с регулярным выражением в TCIMG.ini в секции [FormatUser]) и сохранить в текущей панели с именем исходного html. из каждого html свой txt

imgpr=1 extrf=%P%N||"%p//0//%O_test.%E"||formt<fun_tran1>||upd<1> ;; добавить в файл languages.xml под курсором теги (из тегов English) для Russia и автоматически перевести контент через Google, создать новый в файл активной панели (требуется подключение к интернету)

imgpr=1 extrf=%P%N||"%p//0//%O_test.%E"||formt<xml1>||upd<1> ;; извлечь из файла languages.xml под курсором перевод English в файл активной панели

imgpr=1 extrf=%P%N||"%p//0//%O_test.%E"||formt<xml2>||upd<1> ;; добавить в файл languages.xml под курсором теги (из тегов English) для дальнейшего перевода Russia и создать новый в файл активной панели

imgpr=1 extrf=%P%N||"%p//0//%O_test.%E"||formt<xml3>||upd<1> ;; удалить из файла languages.xml под курсором теги ненужных языков, заданных в шаблоне xml3 и создать новый файл в активной панели

imgpr=1 sends=%%COMMANDER_PATH%%\Files\en.lng??-1||formt<cmpr1> extrf=%%COMMANDER_PATH%%\Files\ru.lng||%%COMMANDER_PATH%%\Files\//0//ru_.lng||compare<$GLOBALSENDS|3,1,4> ;; получить подобные ключи и значения файла ru_.lng, относительно ключей файла en.lng, так же получить и те ключи, которых нет в en.lng

imgpr=1 sends=%P%N??-1||formt<aray_cue1> slist=$GLOBALSENDS||formt<fun_translate1> extrf=%P%N||"%p//0//%O_rus.%E"||<srlist=$GLOBALSLIST>||ending<0>||upd<1> ;; в -CUE файле под курсором добавить к английским названиям TITLE русский перевод с помощью Yandex

sends=[combo=Извлечение~~строк||Введите~~фрагмент~~для~~поиска:||что~~искать?||420||117||1||1] GLOBALSENDS<c> slist=%WL <FOR> 1 <TO> GLOBALSLIST<0> extrf=GLOBALSLIST<:INDEX:>||x//0//x.txt||compare<cliptext|3,0>||ending<0>||progres<> textt=GLOBALEXTRF<1>||clpget!!GLOBALSLIST<:INDEX:>||backup<0> <NEXT> ;; извлечь из выделенных файлов строки имеющие вхождения введенное в диалоговом окне , сохранить извлеченные строки с именами исходных файлов в формате TXT и произвести в них замену поискового вхождения на полные пути исходных файлов

sends=[combo=Извлечение~~строк||Введите~~фрагмент~~для~~поиска:||что~~искать?||420||117||1||1] GLOBALSENDS<c> slist=%WL forpgs <FOR> 1 <TO> GLOBALSLIST<0> extrf=GLOBALSLIST<:INDEX:>||x//0//x.txt||compare<cliptext|3,0>||ending<0> textt=GLOBALEXTRF<1>||clpget!!GLOBALSLIST<:INDEX:>||backup<0> <NEXT> ;; извлечь из выделенных файлов строки имеющие вхождения введенное в диалоговом окне , сохранить извлеченные строки с именами исходных файлов в формате TXT и произвести в них замену поискового вхождения на полные пути исходных файлов


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