Дополнение №24 | |
Дополнение к командам, использующих преобразование строки.
Параметр | Описание | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Search!!Replace!!N!!R ==Search!!Replace!!N!!R | Поиск и замена. Search - "что искать" и Replace - "чем заменять" разделяются !! Для поиска или замены фразы из файла используется подпараметр [rfile=Path] или <rfile=Path>, где Path - полный путь к файлу. N - [необязательный] количество выполняемых замен. Используется отрицательное число, чтобы выполнить замену справа. R - [необязательный] флаг установки чувствительности к регистру. 0 - не учитывать регистр (по умолчанию); 1 - учитывать регистр ; 2 - не учитывать регистр, используется основное / быстрое сравнение; 0 = выполнить замену всех найденных строк (по умолчанию) Возможно использование параметра rndm[Number|...] см. Дополнение №30. Если фраза поиска или замены начинается с #P, то относительный путь (последующая строка) будет переведён в абсолютный. Если фраза поиска или замены начинается с #PS, то относительный путь (последующая строка) будет переведён в абсолютный, в котором слеш заменяется двойным. т.к. в Search (поиск) в начало могут попасть специальные символы, которые используются в утилите (##, ??, **, $$, и.т.д), то в таких случаях перед строкой добавляется == | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
&&Pattern!!Replace!!N | Поиск и замена с регулярным выражением. см. Дополнение №2 Если фраза вначале или после разделителя || начинается с &&, то последующая строка параметра разделённая символами !! означает поиск и замену с регулярными выражениями, где: Pattern - строка регулярного выражения, образец для поиска (шаблон) Replace - строка замены регулярного выражения. Чтобы вставить текст группы используйте, \0 - \9 (или $0 - $9) как обратную ссылку. N - [необязательный] количество замен в строке. По умолчанию 0 - выполняет замену всех найденных образцов. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
&?Pattern!!Flag!!N!!Delim |
Поиск с регулярным выражением. см. Дополнение №2 Pattern - строка регулярного выражения, образец для поиска (шаблон). Если pattern начинается с ??Key то регулярное выражение берётся TCIMG.ini из секции [FormatUser] из ключа Key Flag - [необязательный] режим поиска: 0 - возвращается 1, если совпадение найдено или 0, если не найдено. 1 - поиск до первого совпадения, возвращается полное совпадение с шаблоном. 3 - возвращаются все совпадения, разделённые переносом строки (по умолчанию). Для получения заданных совпадений, прописываются номера или диапазоны номеров через запятую: aK1,K2,...,N1:M1,...,N2:M2 - найти совпадения заданных номеров. bK1,K2,...,N1:M1,...,N2:M2 - найти совпадения, кроме заданных номеров. • a и b обязательные символы, которые прописываются в начале. • K1,K2,... - числа; N1:M1 - диапазоны чисел. • числа и диапазоны могут располагаться в любом порядке (для a - это будет определять последовательность полученных совпадений). • при отрицательных числах отсчёт ведётся с конца. N - [необязательный] позиция строки, начиная с которой будут искаться совпадения (по умолчанию 1). Delim - [необязательный] разделитель (символ или строка) между найденными совпадениями (по умолчанию перенос строки). При Flag=1 и Flag=3, если ничего не найдено, возвращается пустая строка. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?@List |
Поиск по регулярным выражениям по списку последовательное объединение полученных данных. см. Дополнение №2 List - варианты: FilePath - путь к файлу списка регулярных выражений (каждое с новой строки). $GLOBALNAME - 1D массив с регулярными выражениями. Все найденные совпадения разделяются переносом строки. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#*String1¤...¤StringN #*String1¤...¤StringN¤ |
Поиск и замена по нескольким регулярным выражениям и последовательное объединение полученных данных. см. Дополнение №2 String - может быть 2-х вариантов: 1. Pattern!!Replace!!N Pattern - строка регулярного выражения, образец для поиска (шаблон). Replace - строка замены регулярного выражения. Чтобы вставить текст группы используйте, \0 - \9 (или $0 - $9) как обратную ссылку. N - [необязательный] количество замен в строке. По умолчанию 0 - выполняет замену всех найденных образцов. Во все регулярные выражения вставляется исходный текст. 2. Если в String нет разделителя !!, то строка является вставкой между данными предыдущего и последующего поиска. Если строка параметров оканчивается символом ¤, то результаты поиска и замены добавляются к исходному тексту. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?#Search1¤...¤SearchN |
Поиск по нескольким регулярным выражениям и последовательное объединение полученных данных. см. Дополнение №2 Search - может быть 2-х вариантов: 1. Pattern!!Flag!!N!!Delim Pattern - строка регулярного выражения, образец для поиска (шаблон). Flag режим поиска: 0 - возвращается 1, если совпадение найдено или 0, если не найдено. 1 - поиск до первого совпадения, возвращается полное совпадение с шаблоном. 3 - возвращаются все совпадения, разделённые переносом строки. N - [необязательный] позиция строки, начиная с которой будут искаться совпадения (по умолчанию 1). Delim - [необязательный] разделитель (символ или строка) между найденными совпадениями (по умолчанию перенос строки). Во все регулярные выражения вставляется исходный текст. При Flag=1 и Flag=3, если ничего не найдено, возвращается пустая строка. 2. Если в Search нет разделителя !!, то строка является вставкой между данными предыдущего и последующего поиска. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Pattern!!List!!Count |
Поиск с регулярным выражением и последовательная замена по списку. см. Дополнение №2 Pattern - строка регулярного выражения, образец для поиска (шаблон). Если pattern начинается с ??Key то регулярное выражение берётся TCIMG.ini из секции [FormatUser] из ключа Key List - список строк для поиска, возможны варианты: String - строка фраз для замены, прописанных через разделитель |. File - путь к файлу со списком строк для замены. $GLOBALNAME - список строк из глобального массива. Count - [необязательный] 0 - замены производятся по кругу строк из списка List (по умолчанию). 1 - замены производятся пока не закончатся строки в списке List. N>1 - производятся N последовательных замен. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
&*Parameters | Поиск и замена с регулярными выражениями по списку. см. Дополнение №2 Parameters - FilePath(|Section|Mode|Flag) , где: FilePath - путь к файлу списка (обязательный параметр, остальные необязательные). В списке должны быть прописаны пары поиска и замены, разделённые "||" . Каждая пара с новой строки. В файле могут использоваться комментарии, но в них НЕ должно быть двух подряд вертикальных черт (труб). Если замена не прописана, то происходит удаление строки поиска. В замене можно использовать теги "@CRLF", "@CR", "@LF", "@TAB" означающие переносы строки и табуляцию. $GLOBALNAME2D - может использоваться для передачи данных 2D массив из 2-х колонок, в котором: в 0-й колонке в ячейках регулярное выражение для поиска. в 1-й колонке в соответствующих ячейках данные для замены.
Пример записи:
Section - [необязательный] если в файле пары прописаны в секции, то указывается имя секции (в ином случае прописывается символ #) (по умолчанию без секции).
найти||заменить Mode - [необязательный] 0 - информация из текстового файла или секции для поиска и замены считывается один раз и запоминается (по умолчанию). 1 - информация считывается каждый раз (актуально при перезаписи файла в цикле). Flag - [необязательный] 0 - производятся все преобразования поиска и замены по списку (по умолчанию). 1 - производятся до первого успешного преобразования поиска и замены, последующие шаблоны списка игнорируются. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
^^BeginLine | Вставка в начало. Если фраза вначале или после разделителя || начинается с ^^, то последующая строка параметра будет вставлена в начало. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
$$EndLine | Вставка в конец. Если фраза вначале или после разделителя || начинается с $$, то последующая строка параметра будет вставлена в конец. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
??N(Pattern!!Replace) | Изменение регистра символов. Если фраза вначале или после разделителя || начинается с ??, то последующая цифра будет означать: 1 - перевести символы во "все строчные". 2 - во "ВСЕ ЗАГЛАВНЫЕ". 3 - "Как в предложении". 7 - "Как в предложении" (обрабатывается построчно). 4 - "Начало Слов С Заглавной" (обрабатывается построчно). 8 - "Начало Слов С Заглавной (Перед *Любым #Символом)" (обрабатывается построчно). 5 - "Инвертировать регистр символов". 6 - оставить как есть. Указывается при изменение регистра в других параметрах. 11 - перевести символы в верхний и нижний регистр случайным образом. 12 - перевести символы в верхний и нижний регистр чередованием. Для того, чтобы произвести данное действие над частью строки, используется регулярное выражение идущее после цифры, где: Pattern - строка регулярных выражений, образец для поиска (шаблон) Replace - строка замены регулярного выражения. Чтобы вставить текст группы используйте, \0 - \9 (или $0 - $9) как обратную ссылку. см. Дополнение №2. Если в строке отсутствует !!Replace , то будет произведён поиск всех фраз по шаблону Pattern и изменён их регистр относительно первого параметра ??N | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
@@Translit(!!1) | Транслитерация. Если фраза вначале или после разделителя || начинается с @@, то последующая строка параметра будет означать ИМЯ шаблона транслита. В текущей строке заданные символы (фразы) шаблона, прописанные в ключе Source_Name заменяются соответствующими символами (фразами), прописанными в ключе Target_Name Шаблоны настраиваются в секции [Translit] в TCIMG.ini. В некоторых шаблонах, чтобы избежать (пересекающихся с шаблоном) ошибочных замен, необходима двойная обработка, когда искомые фразы заменяются специальным набором, а затем соответствующими заменами. Для двойной обработки необходимо прописать к имени шаблона !!1 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
##FullReplace | Замещение. Если фраза вначале или после разделителя || начинается с символов ##, то последующей строкой FullReplace параметра будет замещена существующая строка. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#?FullReplace | Замещение с условием. Если фраза вначале или после разделителя || начинается с символов #?, то последующей строкой FullReplace параметра будет замещена существующая строка, если FullReplace не пустая строка. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#LString(|Mode)
#L#String(~Mode) #L@String(~Mode) | Извлечение строк. Если фраза вначале или после разделителя || начинается с #L, то последующая строка String будет означать номер или список номеров извлекаемых строк, может иметь несколько вариантов:
1) #LString(|Mode) String - получение строк заданных номеров N - номер строки. N1,N2,...NN - список номеров, прописанных через запятую N:M - диапазон строк. (M:N - обратный диапазон) N:M,N1:M1...NN,MM - список номеров диапазонов (прямых и обратных). При отрицательных значениях строки извлекаются относительно последней строки. 2) #L#String(~Mode) String - получение строк кроме заданных номеров принцип такой же как описан в варианте 1. 3) #L@String(~Mode) String - получение строк чередующихся номеров, где String: @Start|End|Step|InArow Start - минимальное значение диапазона. End - максимальное значение диапазона (при -1 все строки до конца). Step - шаг чередования (по умолчанию 1). InArow - количество подряд номеров (по умолчанию 1). Mode - [необязательный] удаление пустых строк: 0 - не удалять пустые строки (по умолчанию) 1 - удалять пустые строки перед извлечением строк 2 - удалять пустые строки после извлечения строк При #L0 возвращается 0 так как нулевой строки не существует. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#GNumber | Удаление пробельных символов в строке. Если фраза вначале или после разделителя || начинается с #G, то последующий номер Number будет означать режим удаления пробелов в строке: Number может быть суммой следующих флагов: 1 - удаляет пробельные символы в начале строки. 2 - удаляет пробельные символы в конце строки. 4 - удаляет повтор (или многократный повтор) пробельных символов в строке. 8 - удаляет все пробельные символы (не требуется суммировать флаги) Пробельные символы включают в себя Chr(9), Chr(10), Chr(11), Chr(12), Chr(13), Chr(32), которые являются - табуляция, перевод строки, вертикальная табуляция, перевод страницы, возврат каретки и обычный пробел соответственно. А также символ Chr(0). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#V #VS #VW | Реверс строки. Если фраза вначале или после разделителя || начинается с #V, то в текущей строке будет произведено изменение порядка символов на обратный. #VS - построчный реверс (т.е. каждая строка обрабатывается отдельно). #VW - пословный реверс (т.е. каждое слово обрабатывается отдельно). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#KCount~Delim!!String #KMin:Max~Delim!!String | Дублирование строки. Если фраза вначале или после разделителя || начинается с #K, то заданная строка String будет размножена Count раз. Параметр #KCount~Delim1~Mode~Delim2!!String Count - число: количество дубликатов. - могут использоваться математические действия. - может быть случайным числом из диапазона Min:Max, Min - минимальное число, Max - максимальное. Delim1 - [необязательный] разделитель между дубликатами строк. - по умолчанию -1 разделителя нет. Mode - режим: 0 - заменяется текущая строка (по умолчанию). 1 - вставляется в конец текущей строки через разделитель Delim2. 2 - вставляется в начало текущей строки через разделитель Delim2. Delim2 - [необязательный] разделитель в режиме Mode=1 и Mode=2 (по умолчанию разделителя нет). - Если String не указан, то дублируется текущая строка. - В Delim1 и Delim2 могут использоваться функции Autoit. Так же может быть задействована структура, позволяющая вставлять счётчик при дублировании строки: #KCount|Symbol|Begin|Step!!String #KMin:Max|Symbol|Begin|Step!!String Symbol - символ или строка, которая будет заменена счётчиком. Begin - начальное число счётчика. Step - шаг счётчика. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?KCountV|CountG|Delim | Дублирование строк. Если фраза вначале или после разделителя || начинается с ?K, то каждая строка будет размножена. CountV - количество получаемых строк каждой строки. (отсчёт с 2-х, при 1 дублирования не происходит). CountG - [необязательный] количество получаемых строк каждой строки горизонтально. (отсчёт с 2-х, при 1 дублирования не происходит). Delim - [необязательный] разделитель между горизонтальными дубликатами строк (по умолчанию разделителя нет). - В CountV и CountG могут использоваться математические действия. - В Delim могут использоваться функции Autoit. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?FParameters | Преобразование с помощью шаблонов. Если фраза вначале или после разделителя || начинается с ?F, то в последующей строке параметра Parameters прописываются имена шаблонов для преобразования аналогично параметру formt<>, см. Дополнение №15 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#SParameters | Преобразование с помощью шаблонов.
Если фраза вначале или после разделителя || начинается с #S, то в последующей строке параметра Parameters прописываются имена шаблонов для преобразования аналогично параметру formt<>, см. Дополнение №15 Отличается от параметра ?F тем, что работает при использовании параметра [double] в командах renms, copys, moves при переименовании однотипных имён (к примеру при увеличении чисел в имени). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?7!!Delim!!Parameters | Преобразование строки с помощью шаблонов. Разделитель. Delim - разделитель (символ или строка). Parameters - имена шаблонов для преобразования аналогично параметру formt<>, см. Дополнение №15 Заданный разделитель в строке заменяется на перенос строки и данные передаются в параметр formt<>. После преобразования перенос заменяется на заданный разделитель. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#NSearch!!Enum | Замена на счётчик. Если фраза вначале или после разделителя || начинается с #N, то последующая строка параметра будет означать замену на отдельный счётчик каждой найденной подстроки Search!!Enum!!Direction!!Registr, где: Search - "что искать" Enum - строка "чем заменять", в которую в необходимом месте включается счётчик формата tnum[Begin|Step|Numbers] enum[Letter|Step|Numbers] или rndm[Number|Length] см. описание ниже необязательные параметры: Direction - направление замены: 1 - справа (по умолчанию) -1 - слева Registr - чувствительности к регистру: 0 - не учитывать регистр (по умолчанию) 1 - учитывать | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#ECODED #ECODED1,CODED2,... #E>CODED1,CODED2,... | Кодирование строки (текстовый формат). Если фраза вначале или после разделителя || начинается с #E, то последующая строка CODED будет означать метод кодировки:
Последовательное кодирование для списка строк. #ECODED1,CODED2,CODED3, ... - список имён методов, прописанных через запятую. Если методов меньше строк, то методы добавляются "по кругу" (друг за другом). Получение кодирование для списка строк случайным методом. #E>CODED1,CODED2,CODED3, ... - список имён методов, прописанных через запятую. Методы добавляются в случайном порядке. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#DCODED | Декодирование строки (текстовый формат). Если фраза вначале или после разделителя || начинается с #D, то последующая строка CODED будет означать метод декодировки:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#HHASH|RG|LN #HHASH1,HASH2,...|RG #H>HASH1,HASH2,...|RG |
Контрольная сумма строки (текстовый формат). Если фраза вначале или после разделителя || начинается с #H, то последующая строка HASH будет означать метод возвращения контрольной суммы 1-й параметр: HASH - имя метода, поддерживаются: adler32, aich, btih, ed2k, has160, ripemd160, tiger, tth, whirlpool blake2s, blake224, blake256, blake384, blake512, blake2b bmw224, bmw256, bmw384, bmw512 crc16, crc32, crc32c, cubehash224, cubehash256, cubehash384, cubehash512 echo224, echo256, echo384, echo512, edonr256, edonr512 gost, gost_cryptopro, gost12_256, gost12_512 md2, md4, md5 sha1, sha224, sha256, sha384, sha512, sha3_224, sha3_256, sha3_384, sha3_512 shabal192, shabal224, shabal256, shabal384, shabal512 skein224, skein256, skein384, skein512, snefru128, snefru256 2-й параметр: RG - [необязательный] регистр: 0 - в верхнем регистре (по умолчанию). 1 - в нижнем регистре. 2-й параметр: LN - [необязательный] обработка: 0 - обрабатывать не построчно (по умолчанию). 1 - обрабатывать построчно. Последовательное получение контрольной суммы для списка строк. 1-й параметр: HASH1,HASH2,HASH3, ... - список имён методов, прописанных через запятую. 2-й параметр: RG - [необязательный] регистр: 0 - в верхнем регистре (по умолчанию). 1 - в нижнем регистре. Если методов меньше строк, то методы добавляются "по кругу" (друг за другом). Получение контрольной суммы для списка строк случайным методом. 1-й параметр: >HASH1,HASH2,HASH3, ... - список имён методов, прописанных через запятую. 2-й параметр: RG - [необязательный] регистр: 0 - в верхнем регистре (по умолчанию). 1 - в нижнем регистре. Методы добавляются в случайном порядке. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#CCRYPT | Шифрование строки (текстовый формат). Если фраза вначале или после разделителя || начинается с #C, то последующая строка CRYPT будет означать метод возвращения шифрованных данных, а именно: CryptKey(|Algorithm), где: CryptKey - пароль шифрования, может иметь следующие значения: - путь к файлу с паролем (d:\Test\Test.txt) - пароль (12345) -N - означает, что пароль будет взят из TCIMG.ini в секции [Password] в соответствующем ключе PasswordN -Nconvert<SeriesParam> - означает, что пароль будет взят из TCIMG.ini в секции [Password] в соответствующем ключе PasswordN и преобразован в зависимости от условий SeriesParam, где SeriesParam серия параметров для преобразования пароля см. текущее Дополнение №24. Разделитель между параметрами ;; Algorithm - Аббревиатура алгоритма шифрования. Поддерживаются: AES, AES128, AES192, AES256, DES, DESX, 3DES, 3DES112, RC2, RC4, RC5, SEAL -N - означает, что пароль будет взят из TCIMG.ini в секции [Password] в соответствующем ключе AlgorithmN Если не указано, то берётся в ключе Algorithm1 -N - отрицательное число (-1, -2, ... -N). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#MCRYPT | Шифрование текста построчно (текстовый формат) Параметры аналогичны #C | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#RDECRYPT | Расшифровывание строки (текстовый формат). Если фраза вначале или после разделителя || начинается с #R, то последующая строка DECRYPT будет означать метод возвращения дешифрованных данных, а именно: CryptKey(|Algorithm), где: CryptKey - пароль дешифрования, может иметь следующие значения: - путь к файлу с паролем (d:\Test\Test.txt) - пароль (12345) -N - означает, что пароль будет взят из TCIMG.ini в секции [Password] в соответствующем ключе PasswordN -Nconvert<SeriesParam> - означает, что пароль будет взят из TCIMG.ini в секции [Password] в соответствующем ключе PasswordN и преобразован в зависимости от условий SeriesParam, где SeriesParam серия параметров для преобразования пароля см. текущее Дополнение №24. Разделитель между параметрами ;; Algorithm - Аббревиатура алгоритма дешифрования. Поддерживаются: AES, AES128, AES192, AES256, DES, DESX, 3DES, 3DES112, RC2, RC4, RC5, SEAL -N - означает, что пароль будет взят из TCIMG.ini в секции [Password] в соответствующем ключе AlgorithmN Если не указано, то берётся в ключе Algorithm1 -N - отрицательное число (-1, -2, ... -N). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#FDECRYPT | Расшифровывание текста построчно (текстовый формат) Параметры аналогичны #R | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#BNUMBER | Преобразует строку в бинарные данные. NUMBER - [необязательный] тип преобразования: 1 - ANSI (по умолчанию) 2 - UTF16 Little Endian 3 - UTF16 Big Endian 4 - UTF8 Построчное преобразование (каждую строку отдельно): 5 - ANSI 6 - UTF16 Little Endian 7 - UTF16 Big Endian 8 - UTF8 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#TNUMBER | Преобразовывает бинарные данные в строку. NUMBER - [необязательный] тип преобразования: 1 - ANSI (по умолчанию) 2 - UTF16 Little Endian 3 - UTF16 Big Endian 4 - UTF8 Построчное преобразование (каждую строку отдельно): 5 - ANSI 6 - UTF16 Little Endian 7 - UTF16 Big Endian 8 - UTF8 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#X или #XS | Сжатие строки бинарных данных. Если на обработку поступает не бинарная, а текстовая строка, то она автоматически преобразовывается в бинарную, а затем сжимается. #XS - позволяет сжимать заданные строки построчно (каждую строку отдельно). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#W или #WT | Разжатие строки бинарных данных. Для разжатия бинарной строки и преобразование в текстовую используется параметр #WT Многострочные данные разжимаются построчно (каждую строку отдельно). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#U #US | Декодирование Hex строки с любыми дополнительными символами. Строка "CFF0E8E2E5F2" или "%CF%F0%E8%E2%E5%F2" или "=CF=F0=E8=E2=E5=F2"... будет декодирована в строку "Привет". #US - декодирует многострочные данные построчно (каждую строку отдельно). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#Q!!BeginLine!!EndLine #QP!!BeginLine!!EndLine #QS!!BeginLine!!EndLine | Кодирование строки в Hex строку. BeginLine - [необязательный] строка (символ) добавляемая к началу каждого кодированного символа. EndLine - [необязательный] строка (символ) добавляемая к концу каждого кодированного символа. #Q - кодирует только символы. #QP - кодирует без потери специальных знаков (переносы строк, возврат каретки...). #QS - построчно кодирует без потери специальных знаков (каждую строку отдельно). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#0 | Преобразует кириллическую кодировку в ANSI 1251. Используется, когда кодировка текста заранее неизвестна. Определяет какой из пяти кодировок: KOI8-R, IBM-866, ISO-8859-5, UTF8, HEX принадлежит текст и преобразует в 1251. Строка "Привет" или "ЏаЁўҐв" или "рТЙЧЕФ" или "ґЮСаЮХ гваЮ" или "Привет" или "=CF=F0=E8=E2=E5=F2"... будет декодирована в строку "Привет". Многострочный текст обрабатывается построчно. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#1 | Преобразует кодировку UTF8 в ANSI 1251. Строка "Привет" будет декодирована в строку "Привет". Многострочный текст обрабатывается построчно. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#2 | Преобразует кодировку KOI8 в ANSI 1251. Строка "рТЙЧЕФ" будет декодирована в строку "Привет". Многострочный текст обрабатывается построчно. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#3 | Преобразует кодировку 866 в ANSI 1251. Строка "ЏаЁўҐв" будет декодирована в строку "Привет". Многострочный текст обрабатывается построчно. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#4 | Преобразует кодировку ISO8859 в ANSI 1251. Строка "ґЮСаЮХ гваЮ" будет декодирована в строку "Доброе утро". Многострочный текст обрабатывается построчно. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#5 | Преобразует строку алгоритмом ROT13. Строка "Good morning" будет преобразована в строку "Tboq zbeavat". И наоборот строка "Tboq zbeavat" будет преобразована в строку "Good morning". Многострочный текст обрабатывается построчно. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#6 | Преобразует строку алгоритмом ROT47. Строка "Good morning" будет преобразована в строку "v@@5 >@C?:?8". И наоборот строка "v@@5 >@C?:?8" будет преобразована в строку "Good morning". Многострочный текст обрабатывается построчно. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?CCode или ?CCode1-Code2 | Преобразует строку Unicode в строку. 1. Code - номер кодировки, в который необходимо преобразовать строку см. Дополнение №28 2. Code1-Code2 - номера кодировок, строка из кодировки Code1 будет преобразована в кодировку Code2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?DCode или ?DCode1-Code2 | Преобразует Unicode строку в строку. 1. Code - номер кодировки, в который необходимо преобразовать строку см. Дополнение №28 2. Code1-Code2 - номера кодировок, строка из кодировки Code1 будет преобразована в кодировку Code2 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?ANumber|LN ?AMin:Max|LN | Возвращает указанное число символов строки слева. Если фраза вначале или после разделителя || начинается с ?A, то последующий номер Number будет означать получение слева заданного количества символов строки. При Min:Max - случайное получение символов в диапазоне от Min до Max (при Max=-1 вставляется количество длины всей строки). 2-й параметр LN - [необязательный] означает построчную обработку. в Number, Min, Max могут использоваться математические действия. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?ZNumber|LN ?ZMin:Max|LN | Возвращает указанное число символов строки справа. Если фраза вначале или после разделителя || начинается с ?Z, то последующий номер Number будет означать получение справа заданного количества символов строки. При Min:Max - случайное получение символов в диапазоне от Min до Max (при Max=-1 вставляется количество длины всей строки). 2-й параметр LN - [необязательный] означает построчную обработку. в Number, Min, Max могут использоваться математические действия. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?LNumber|LN ?LMin:Max|LN | Удаляет указанное количество символов строки слева. Если фраза вначале или после разделителя || начинается с ?L, то последующий номер Number будет означать удаление слева заданного количества символов строки. При Min:Max - случайное получение символов в диапазоне от Min до Max (при Max=-1 вставляется количество длины всей строки). 2-й параметр LN - [необязательный] означает построчную обработку. в Number, Min, Max могут использоваться математические действия. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?RNumber|LN ?RMin:Max|LN | Удаляет указанное количество символов строки справа. Если фраза вначале или после разделителя || начинается с ?R, то последующий номер Number будет означать удаление справа заданного количества символов строки. При Min:Max - случайное получение символов в диапазоне от Min до Max (при Max=-1 вставляется количество длины всей строки). 2-й параметр LN - [необязательный] означает построчную обработку. в Number, Min, Max могут использоваться математические действия. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?MStart:Count:LN ?MMin,Max:Count:LN ?MStart:Min,Max:LN ?MMin,Max:Min,Max:LN | Извлекает часть символов в строке. Если фраза вначале или после разделителя || начинается с ?M, то последующий номер Start будет означать позицию начального символа строки. Count - [необязательный] количество извлекаемых символов строки (по умолчанию до конца строки -1). Двоеточие - разделитель между Start и Count При Min,Max - случайное получение символов в диапазоне от Min до Max (при Max=-1 вставляется количество длины всей строки). 3-й параметр LN - [необязательный] означает построчную обработку. в Start, Count, Min, Max могут использоваться математические действия. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?BNumber!!Line | Удаляет/Добавляет строку к строке с условиями. Если фраза вначале или после разделителя || начинается с ?B, то последующий номер Number будет означать условие удаления/добавления строки Line. Если Number отрицательный номер, то при пустой исходной строке преобразования не происходят. 1 - удалить в начале фразу Line, если таковая есть (учитывать регистр) 2 - удалить в начале фразу Line, если таковая есть (не учитывать регистр) 3 - удалить в конце фразу Line, если таковая есть (учитывать регистр) 4 - удалить в конце фразу Line, если таковая есть (не учитывать регистр) 5 - добавить в начало фразу Line, если таковой нет (учитывать регистр) 6 - добавить в начало фразу Line, если таковой нет (не учитывать регистр) 7 - добавить в конец фразу Line, если таковой нет (учитывать регистр) 8 - добавить в конец фразу Line, если таковой нет (не учитывать регистр) 9 - удалить в начале и в конце фразу Line, если таковая есть (учитывать регистр) 10 - удалить в начале и в конце фразу Line, если таковая есть (не учитывать регистр) 11 - добавить в начало и в конец фразу Line, если таковой нет (учитывать регистр) 12 - добавить в начало и в конец фразу Line, если таковой нет (не учитывать регистр) 13 - добавить в начало фразу Line, если таковой нет или удалить, если есть (учитывать регистр) 14 - добавить в начало фразу Line, если таковой нет или удалить, если есть (не учитывать регистр) 15 - добавить в конец фразу Line, если таковой нет или удалить, если есть (учитывать регистр) 16 - добавить в конец фразу Line, если таковой нет или удалить, если есть (не учитывать регистр) 17 - добавить в начало и в конец фразу Line, если таковой нет или удалить, если есть (учитывать регистр) 18 - добавить в начало и в конец фразу Line, если таковой нет или удалить, если есть (не учитывать регистр) 19 - удалить в начале фразу Line, если таковая есть, с добавлением фразы Line в конец (учитывать регистр) 20 - удалить в начале фразу Line, если таковая есть, с добавлением фразы Line в конец (не учитывать регистр) 21 - удалить в конце фразу Line, если таковая есть, с добавлением фразы Line в начало (учитывать регистр) 22 - удалить в конце фразу Line, если таковая есть, с добавлением фразы Line в начало (не учитывать регистр) 23 - добавить в начало фразу Line, если таковая есть (учитывать регистр) 24 - добавить в начало фразу Line, если таковая есть (не учитывать регистр) Построчное удаление/добавление | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?S!!BeginLine!!EndLine | Каждый символ строки заменить ASCII-кодом символа. BeginLine - [необязательный] строка (символ) добавляемая к началу каждого заменённого символа. EndLine - [необязательный] строка (символ) добавляемая к концу каждого заменённого символа. Аналог функции Asc(), только для каждого символа строки. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?W!!BeginLine!!EndLine | Каждый символ строки заменить юникод-кодом символа. BeginLine - [необязательный] строка (символ) добавляемая к началу каждого заменённого символа. EndLine - [необязательный] строка (символ) добавляемая к концу каждого заменённого символа. Аналог функции AscW(), только для каждого символа строки. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?T|Line1|Line2| ... |LineN |
Преобразование заданных строк. LineN представляет собой строку: Symbol,Numbers!!Text (может использоваться несколько раз, через разделитель |) Symbol - символ, определяющий режим добавления текста: a - добавление текста в начало строк заданных номеров. b - добавление текста в начало строк, кроме заданных номеров. z - добавление текста в конец строк заданных номеров. y - добавление текста в конец строк, кроме заданных номеров. c - поиск и замена с регулярными выражениями в строках заданных номеров. x - поиск и замена с регулярными выражениями в строках, кроме заданных номеров. d - удаление содержимого строк заданных номеров. v - удаление содержимого строк, кроме заданных номеров. f - удаление строк заданных номеров. q - удаление строк, кроме заданных номеров. e - преобразование строк заданных номеров. u - преобразование строк, кроме заданных номеров. Numbers - номера строк перечисленных через запятую (1,3,8,11). • Может использоваться символ : , означающий прямой диапазон (5:10 - с 5-й по 10-ю строки) • Могут использоваться отрицательные числа, означающие отсчёт с конца строк. (-1 - последняя строка) • Можно использоваться несколько условий (1,3,5:8,10,15:-1) При Symbol = "a", "z", "b", "y", "c", "x", "e", "u" Text - текст (строка), которая добавляется, в ней может использоваться: • Если необходимы кавычки, то используются две одинарных кавычки (апострофа) '' • Если необходим пробел - используются два символа тильды ~~. • Для специальных знаков могут использоваться Коды ASCII символов и функции Chr() и ChrW() см. Дополнение №26 • cliptext - в любом месте тег cliptext будет заменён содержимым буфера обмена. • <info> - информация переданная параметром см. Дополнение №10 • GLOBALNAME - данные, переданные глобальными переменными. см. Дополнение №23 • Тег :NUM: будет заменён номером текущей строки. • Тег :0NUM: будет заменён номером текущей строки с добавлением начальных нулей, относительно количества строк. При Symbol = "c" и "x" Text является условием поиска и замены. Синтаксис подобный параметру formt<> При Symbol = "d", "v", "f" и "q" Text не прописывается. При Symbol = "e" и "u" Text является условием преобразования. Синтаксис подобный текущему Дополнению №24. Разделитель между подпараметрами ;; В версии 14.9 добавлено: При всех Symbol в Text может использоваться подпараметр linen<Number> где Number - номер строки. При отрицательных числах строка берётся с конца. Параметр будет заменён содержимым строки заданного номера. В версии 14.0 добавлены условия: Symbol=Len,Numbers!!Text - строка будет преобразована, если длина строки равна числу Len Symbol>Len,Numbers!!Text - строка будет преобразована, если длина строки больше числа Len Symbol<Len,Numbers!!Text - строка будет преобразована, если длина строки меньше числа Len Symbol?Len1-Len2,Numbers!!Text - строка будет преобразована, если длина строки входит в прямой диапазон от числа Len1 до числа Len2 (включая эти числа) В версии 14.3 добавлены условия: SymbolN:String,Numbers!!Text, где: String строка для проверки вхождения путь к файлу, в котором прописана строка или строки для проверки вхождения N 1 - строка будет преобразована, если есть в начале вхождение заданной строки String 2 - строка будет преобразована, если есть в конце вхождение заданной строки String 3 - строка будет преобразована, если есть вхождение заданной строки String 4 - строка будет преобразована, если нет в начале вхождения заданной строки String 5 - строка будет преобразована, если нет в конце вхождения заданной строки String 6 - строка будет преобразована, если нет вхождения заданной строки String 7 - строка будет преобразована, если есть вхождение заданного регулярного выражения String 8 - строка будет преобразована, если нет вхождения заданного регулярного выражения String При многострочном String N с 1 по 6 ищется вхождение любой заданной строки 31 - строка будет преобразована, если есть вхождения всех заданных строк String (актуально при многострочном String) 32 - строка будет преобразована, если нет вхождений всех заданных строк String (актуально при многострочном String) Если в String необходимо использовать запятую и вертикальную черту, то: Вместо запятой используется символ ’ (правая верхняя одинарная кавычка) Вместо вертикальной черты используется символ ¦ Дополнительные параметры: pStart#Step - позволяет задать режим обработки: Start - начальный номер обрабатываемой строки (по умолчанию 1) Step - шаг (по умолчанию 1) или pStart#Step#InArow Start - начальный номер обрабатываемой строки (по умолчанию 1) Step - шаг (по умолчанию 1) InArow - количество подряд строк (по умолчанию 1) При этом шаг Step должен быть больше количества подряд строк InArow (в ином случае результатом будет ошибка или неправильный вывод...) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?H|Number|Delim1|Delim2 | Группировка и разгруппировка строки номеров. Number - режим преобразования. Для строки с цифрами: 1 - преобразует строку "1,2,3,4,5" в "1-5" 2 - преобразует строку с предварительной сортировкой и удалением дубликатов "1,4,2,5,3" в "1-5" 5 - преобразует строку "1-5" в "1,2,3,4,5" 6 - преобразует строку "01-05" в "01,02,03,04,05" (сохраняя ведущие нули) Для строки с цифрами и латинских букв с цифрами: 7 - преобразует строку с предварительной сортировкой и удалением дубликатов "4,s5,dn8,5,s3,2,1,s1,dn7,dn6,dn9,s6,s2,s4,3" ==> "1-5,dn6-dn9,s1-s6" "s6,4,3,dn7,s2,dn8,5,s3,s5,2,s4,dn9,1,s1,dn6" ==> "dn6-dn9,s1-s6,1-5" Delim1 - [необязательный] строка (символ) разделитель при группировке (по умолчанию дефис - ) Delim2 - [необязательный] строка (символ) разделитель между символами (по умолчанию запятая , ) В Delim1 и Delim2 могут использоваться функций Autoit Chr() и ChrW(), которые заменяются соответствующими символами Параметр способен преобразовывать более сложные строки "h1,h2,m1,h3,h4,h5,h6,h7,h8,h9,h10,h11,1,2,35,3,4,5,6,7,8,9,10,g11,g12,g13,14,28,m5,m6,m7" в "h1,h2,m1,h3-h11,1,2,35,3-10,g11-g13,14,28,m5-m7" и обратно Строки обрабатываются построчно, если многострочный текст. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?E|N1:N2|N1:N2 ... | Меняет местами заданные строки. N1:N2 - номера строк которые меняются местами. Может быть прописано несколько пар через разделитель | При отрицательных числах отсчёт ведётся с конца. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?G|N1:N2|N1:N2 ... | Перемещает строку в заданную позицию. N1:N2 - строка N1 будет перемещена в позицию N2. Может быть прописано несколько пар через разделитель | Необходимо учитывать, что массив строк каждый раз меняется. При отрицательных числах отсчёт ведётся с конца. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?J|N1:N2|N1:N2 ... | Перемещает строку с заменой. N1:N2 - строка N1 будет перемещена, заменяя строку N2. Может быть прописано несколько пар через разделитель | Необходимо учитывать, что массив строк каждый раз меняется и уменьшается. При отрицательных числах отсчёт ведётся с конца. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?QParameters | Поиск и замена из файла. Parameters - FilePath(|Section|Mode|Flag|Registr|Sort|Concurrence|SymbolDelim|Read) , где: FilePath - путь к файлу списка (обязательный параметр, остальные необязательные). В списке должны быть прописаны пары поиска и замены, разделённые "=" . Каждая пара с новой строки. Если замена не прописана, то происходит удаление строки поиска. Так же в поиске и замене можно вставлять символы с помощью функций Autoit Chr() и ChrW(), которые заменяются соответствующими символами. Так же в поиске и замене можно использовать теги "@CRLF", "@CR", "@LF", "@TAB" означающие переносы строки и табуляцию. $GLOBALNAME2D - может использоваться для передачи данных 2D массив из 2-х колонок, в котором: в 0-й колонке в ячейках данные для поиска. в 1-й колонке в соответствующих ячейках данные для замены.
Пример записи:
Section - если в файле пары прописаны в секции, то указывается имя секции (в ином случае прописывается символ #) (по умолчанию без секции).
найти=заменить Mode - режим обработки: 0 - обычный (по умолчанию). 1 - двойная обработка (это гораздо медленнее, но предотвращает пересечения между строками замены). Flag - подготовка списка: 1 - не производить предварительную очистку. 2 - удалить комментарии в секции списка "поиска и замен" (по умолчанию, если указана секция). Registr - регистр: 0 - замена производится без учёта регистра. 1 - с учётом регистра (по умолчанию). Sort - сортировка: 0 - не сортировать (по умолчанию). 1 - сортировать строки поиска по длине, по убыванию. (Это позволяет заменять последовательно: длинные строки, затем короткие...). Concurrence - совпадение: 0 - поиск любого вхождения в строку (по умолчанию). 1 - поиск точного совпадения со всем текстом. (Только при точном совпадении происходит замена). построчный поиск и замена: 2 - поиск точного совпадения со строкой. 3 - поиск точного совпадения со строкой слева. 4 - поиск точного совпадения со строкой справа. 5 - поиск точного совпадения со строкой слева с заменой всей строки. 6 - поиск точного совпадения со строкой справа с заменой всей строки. 7 - поиск любого совпадения в строке с заменой всей строки. SymbolDelim - символ, разделяющий пары поиска и замены. По умолчанию символ "=" Так же можно вставлять символы с помощью функций Autoit Chr() и ChrW(), которые заменяются соответствующими символами. Read 0 - информация файла или переменной считывается один раз, запоминается для дальнейшего использования (по умолчанию). 1 - информация файла или переменной считывается каждый раз как только встретится параметр. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?P | Перемешивает строки случайным образом. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?PS!!Delim | Перемешивает случайным образом фразы между заданным разделителем. Delim - разделитель (символ или строка), фразы между которым будут перемешаны. Многострочный текст обрабатывается построчно. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?O|Key|Mode|Delim | Считывание строки из TCIMG.ini (TCIMGU.ini) из секции [Lines]. Key - ключ из секции [Lines] Mode - режим: 0 - заменяется текущая строка (по умолчанию). 1 - вставляется в конец текущей строки через разделитель Delim. 2 - вставляется в начало текущей строки через разделитель Delim. Delim -[необязательный] разделитель в режиме Mode=1 и Mode=2 (по умолчанию разделителя нет). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?N ?NMode!!Registr!!Delim ?NS ?NSMode!!Registr!!Delim | Удаляет дубликаты между заданным разделителем. Mode - [необязательный] режим удаления: 0 - остаются уникальные фразы в единственном экземпляре (по умолчанию). 1 - остаются фразы, которые не повторялись, все дублирующиеся удаляются. Registr - [необязательный] чувствительность к регистру. 0 - учитывать регистр (по умолчанию). 1 - не учитывать регистр. Delim - [необязательный] разделитель (символ или строка), между которым будут удалены дубликаты. по умолчанию "пустой разделитель", т.е. удаление одинаковых символов. ?N - многострочный текст обрабатывается построчно. ?NS - обрабатывается весь текст. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#O=Number|SeriesParam | Преобразование строки относительно её длины.
=Number - преобразование, если длина равна заданному числу Number >Number - преобразование, если длина больше заданного числа Number <Number - преобразование, если длина меньше заданного числа Number <>Number - преобразование, если длина не равна заданному числу Number ?Min-Max - преобразование, если длина входит в диапазон Min-Max заданных чисел SeriesParam - серия параметров для преобразования. см. Дополнение №24 (Разделитель между параметрами ;; ) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?U | Замена функций Autoit значениями. Chr() и ChrW() заменяются соответствующими символами. ClipGet() заменяется содержимым буфера обмена. Number() позволяет производить математические действия. StringLeft() позволяет получать указанное число символов строки слева. StringRight() позволяет получать указанное число символов строки справа. StringMid() позволяет получать часть символов строки. StringLen() позволяет получать количество символов строки. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
>>String | Без преобразования и без вставки. Указанные в строке String данные не будут никуда вставлены. Это может понадобиться для сложных вычислений, к примеру в параметре ?V
Пример:
;; для выделенных изображений добавить слово 'равно', если ширина в 2 раза больше высоты; если больше, чем в 2 раза, то 'больше'; если меньше, чем в 2 раза, то 'меньше' | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?V ?V|2Symbols|String |
Выполняет/вычисляет выражение Autoit. (см. список раздела "Функции Autoit") ?V - выполняет выражение Autoit текущей строки. ?V|2Symbols|String - выполняет выражение Autoit заданной строки, где: 2Symbols - 2 символа параметров Дополнения №24 (^^, $$, ## и др.) определяет положение в текущей строке вычисленного значения выражения. String - строка выражения Autoit. в строке важен синтаксис, иначе будет возвращена пустая строка. тег :: будет заменён текущим текстом/файлом... если в результате вычисления возвращается массив, то он будет преобразован в строку через разделитель переноса строки. Примеры:
?V|$$|FileGetTime('::',0,1)&'<--->'
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?Y ?Y|2Symbols|String |
Преобразование с помощью функций js, vbs, au3. ?Y - запускает заданную функцию с параметрами. ?Y|2Symbols|String - выполняет выражение Autoit заданной строки, где: 2Symbols - 2 символа параметров Дополнения №24 (^^, $$, ## и др.) определяет положение в текущей строке вычисленного значения выражения. String - состоит из Number|Func|Param1|Param2|...|Param8, где: Number - режим запуска: 0 - для функций vbs скриптов. 1 - для функций js скриптов. 2 - для функций au3 скриптов. Func - имя функции. Param1|Param2|...|Param8 - параметры, передаваемые функции. тег :TEXT: будет заменён текущим текстом. Подключение своих скриптов и функций описано в командах funvb, funjs, funau Примеры:
;; добавить в конец текстового файла под курсором статистику | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?XURL\\Code |
Получение содержимого страницы интернета.
URL - ссылка (http://tc-image.3dn.ru/forum/5-498-1) Code - [необязательный] кодировка получаемых данных: 1 - ANSI 1251 (по умолчанию) 2 - UTF-16 LE 1200 3 - UTF-16 BE 1201 4 - UTF-8 URL\\8 - открытие страницы в скрытом браузере IE и получение информации. есть возможность получать содержимое из chm файлов (ссылки вида: mk:@MSITStore:Path.chm::URL\\8). TITLE\\9 - получение html кода содержимого открытого окна Explorer, CHM, ..., где TITLE - заголовок или хендл окна. URL\\10 - получение информации интернета с помощью объекта MSXML2.XMLHTTP. Так же поддерживается: $GLOBALNAME\\Code - исходный код html всех URL ссылок, переданных в глобальном массиве | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#AString #ZString |
Вставка. Вставка после обработки всех параметров переданных команде. Параметры подключены в командах: lists, slist (и подобных), textx, textt, extra, extrf, urlxt, exbns, exbnf #A - вставка в начало после всех преобразований. #Z - вставка в конец после всех преобразований. В String могут использоваться: • "@CR" - символ возврата каретки Chr(13), "@LF" - символ перевода строки Chr(10), "@CRLF" = @CR & @LF, "@TAB" - символ Tab Chr(9). • функции Autoit (см. параметр ?U) • информация глобальных переменных GLOBALNAME<N>, GLOBALNAME<xN> (см. Дополнение №23) • информация переменных $var_... (см. команду exect) Если параметры нужны в какой-либо команде, то сообщите - подключу. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#YParameters |
Получение из строки заданных символов и их группировка.
Parameters - Mode:Split:Delim1:Delim2, где: Mode - режим получения символов: -1 - вставляется пустая строка (позволяет вставить разделитель Delim2) 0 - вставляется текущая строка. 1 - получение из строки чисел. 2 - получение из строки английских букв. 3 - получение из строки русских букв. RegEx - регулярное выражение для получения нужных символов. Split - количество, по сколько символов "разбивать" строку: 0 - не разбивать. Delim1 - [необязательный] строка (символ) разделитель между группой символов при разбивке Split. по умолчанию символ | -1 - перенос строки @CRLF Delim2 - [необязательный] строка (символ) добавляемый в конец группы. Может использоваться несколько групп параметров через разделитель !! Mode:Split:Delim1:Delim2!!Mode:Split:Delim1:Delim2!!...!!Mode:Split:Delim1:Delim2 В Delim1 и Delim2 могут использоваться функций Autoit Chr() и ChrW(), которые заменяются соответствующими символами | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#JNumber|LN | Xor кодирование/декодирование строки. Если фраза вначале или после разделителя || начинается с #J, то последующий номер Number будет означать число модуль побитового сложения кодов символов строки. 2-й параметр LN - [необязательный] означает построчную обработку. В Number могут использоваться математические действия. Кодирование/декодирование должно осуществляться с одним и тем же модулем Number. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?i|Data|Mode|Delim | Получение данных. Data - возможны варианты: File - путь к текстовому файлу. $GLOBALNAME - глобальный массив: получение всех строк. $GLOBALNAME[N] - получение заданной строки глобального массива. Mode - режим: 0 - заменяется текущая строка (по умолчанию). 1 - вставляется в конец текущей строки через разделитель Delim. 2 - вставляется в начало текущей строки через разделитель Delim. Delim - [необязательный] разделитель в режиме Mode=1 и Mode=2 (по умолчанию разделителя нет). В Delim могут использоваться функции Autoit. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#i|Data|Mode|Delim1|Delim2 | Получение данных по списку. Data - возможны варианты: FileList - путь к списку с текстовыми файлами. $GLOBALNAME - глобальный массив, в котором содержатся пути к текстовым файлам. Mode - режим: 0 - заменяется текущая строка (по умолчанию). 1 - вставляется в конец текущей строки через разделитель Delim2. 2 - вставляется в начало текущей строки через разделитель Delim2. Delim1 - [необязательный] разделитель между содержимым текстовых файлов (по умолчанию -1 разделителя нет). Delim2 - [необязательный] разделитель в режиме Mode=1 и Mode=2 (по умолчанию разделителя нет). Delim1 и Delim2 могут использоваться функции Autoit. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?0|2Symbols|String ?1|2Symbols|String ?2|2Symbols|String ?3|2Symbols|String ?4|2Symbols|String |
Получение информации по списку.
?0|2Symbols|$GLOBALNAME|Number Получение информации из массива, где: $GLOBALNAME - глобальный массив с данными см. Дополнение №23. Number - номер ячейки массива, из которой будут получены данные. ?1|2Symbols|File|Delim|Number Получение информации из файла, где: File - путь к файлу со списком. Delim - разделитель, по которому список делится на части. Number - номер части, из которой будут получены данные. ?2|2Symbols|File|Section|Number Получение информации из секции ini файла, где: File - путь к ini файлу. Section - имя секции, в которой прописан список строк. Number - номер строки для получения данных. ?3|2Symbols|File|Section|Key|Delim|Number Получение информации из ключа ini файла, где: File - путь к ini файлу. Section - имя секции. Key - имя ключа, в значении которого список данных, прописанных через разделитель. Delim - разделитель, по которому список делится на части. Number - номер части, из которой будут получены данные. ?4|2Symbols|String|Delim|Number Получение данных из строки, где: String - строка со списком данных, прописанных через разделитель. Delim - разделитель, по которому список делится на части. Number - номер части, из которой будут получены данные. 2Symbols - 2 символа параметров Дополнения 24 (^^, $$, ## и др.) определяет положение в текущей строке полученной информации. Delim - в разделителе могут использоваться: • "@CR" - символ возврата каретки Chr(13), "@LF" - символ перевода строки Chr(10), "@CRLF" = @CR & @LF, "@TAB" - символ Tab Chr(9). • функции Autoit (см. параметр ?U) Данные возвращаются "по кругу": если номер (Number) больше, чем частей, то расчёт ведётся с начала.
slist=%WL||?1|^^|C:\List.txt|@CRLF|:LISTNUM: GLOBALSLIST<a> ;; добавить в начало путей выделенных объектов фразы из файла | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?5|Line!!Delim |
Получение кода таблиц(ы) htm, включая вложенные таблицы. (тег <table>).
Line - строка адресов таблиц, прописанных через запятую. Варианты: 2 - получить код 2-й таблицы 1-го уровня. 2,3 - получить код 2-й и 3-й таблиц 1-го уровня. 2/1/2 - получить код вложенной таблицы 3-го уровня по заданному адресу. 4/2/1,3/1 - получить код вложенных таблиц 3-го и 2-го уровня по заданным адресам. Delim - [необязательный] разделитель (символ или строка) между заданными таблицами (по умолчанию перенос строки) Для получения нумерованной адресами структуры всех таблиц кода воспользуйтесь ?5|0 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?6|Lang1|Lang2|Mode |
Онлайн перевод (Временно может не работать).
Lang1 - аббревиатура языка с которого нужно перевести (для автоматического распознавания языка прописывается 'auto') Lang2 - аббревиатура языка на который нужно перевести текущий текст. см. Дополнение №14 Mode - режим перевода: 0 - перевод в Google. 1 - перевод в MS Bing. 3 - перевод в MyMemory ('auto' не поддерживается). Подробности в функции _GTR | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#7|Mode |
Ёфикатор. Замена в русских словах буквы «е» на букву «ё» («еще» на «ещё»).
Mode - [необязательный] режим пользовательского словаря: 0 - словарь берётся только из TCIMGU.ini (по умолчанию). 1 - словарь из TCIMGU.ini объединяется со словарём из TCIMG.ini. (в словаре удаляются крайние/лишние пробелы и дубликаты). Основная библиотека слов ...\Files\Zip\ELibrary.zip (в тексте заменяются только однозначные слова, к примеру, слово «слез» не заменяется на «слёз») Дополнительная библиотека подключена в TCIMG.ini в секции [Setting] в ключе ELibrary=$f212\ELibrary.txt Пользовательский шаблон замен вы можете подключить в TCIMGU.ini в секции [Setting] в ключе ELibrary: каждое слово или словосочетание с буквой "Ё" прописывается с новой строки. Если у вас есть дополнительные слова для замены или исправления - высылайте - будут вставлены в библиотеку. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?8|Text|Mode|Delim |
Построчное объединение двух текстов (текущего и заданного).
Text - заданный текст, варианты: File - путь к файлу с текстом. $GLOBALNAME - глобальный массив со строками. cliplist - текст из буфера обмера. Mode - [необязательный] режим объединения: 0 - последовательно в каждую строку текущего текста вставить каждую строку заданного текста (по умолчанию). 1 - поочерёдно в каждую строку текущего текста вставить каждую строку заданного текста. 2 - последовательно в каждую строку заданного текста вставить каждую строку текущего текста. 3 - поочерёдно в каждую строку заданного текста вставить каждую строку текущего текста. Delim - [необязательный] разделитель (символ или строка) между строками (по умолчанию без разделителя). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#8|2Symbols|String |
Получение информации параметра info. (см. Дополнение №10) #8|2Symbols|String - получение информации параметра info, где: 2Symbols - 2 символа параметров Дополнения №24 (^^, $$, ## и др.) определяет положение полученной информации. String - строка выражения параметра info без приставки <info=. в строке важен синтаксис, иначе будет возвращена пустая строка. тег :: будет заменён текущим текстом/файлом... может использоваться несколько выражений через разделитель // Примеры:
;; преобразовать выделенные пути заданным шаблоном и показать в таблице | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
#9|Len|Delim |
Объединение строк. Len - число, определяющее максимальную длину итоговых строк. Delim - [необязательный] строка (символ) разделитель между объединяемыми строками (по умолчанию без разделителя). Могут использоваться функций Autoit Chr() и ChrW(), которые заменяются соответствующими символами Один из вариантов применения - это из большого списка замен составить строки для регулярного выражения. Регулярное выражение имеет ограничение по длине строки шаблона. Пример:
;; из строк файла под курсором создать строки для регулярного выражения не более 30.000 символов
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?*Params |
Проверка путей объектов с помощью параметра test<>. Параметр актуален, когда текущий текст является списком путей объектов, разделённых через перенос строки. Params - подпараметры параметра test<>. см. Дополнение №16. Пример:
;; проверка выделенного списка файлов через параметр test<>, остаются пути текстовых файлов
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
?9|2Symbols|String |
Получение информации заданными выражениями, как это делает Total Commander в диалоге группового переименования. ?9|2Symbols|String - получение информации параметра info, где: 2Symbols - 2 символа параметров Дополнения №24 (^^, $$, ## и др.) определяет положение полученной информации. String - строка выражений Total Commander. • Ниже приведено описание всех доступных выражений. ВНИМАНИЕ: Регистр символов важен! • Подряд идущие последовательности выражений можно объединять внутри одних скобок, если при этом не возникает выражение другого типа: например, вместо [Y][M][D] можно написать [YMD], а последовательность [E1-3][Y] — сократить до [E1-3Y]; но [N][2-5] нельзя сократить до [N2-5] — это выражение будет иметь другой смысл. • Может использоваться несколько одинаковых или подобных выражений в одной строке. • Выражения-модификаторы сами по себе ничего не добавляют и должны использоваться совместно с другими выражениями, например, [T1][YMD] [hms]. • Между выражениями в квадратных скобках могут использоваться любые символы и фразы.
Описание выражений:
;; преобразовать выделенные пути заданными выражениями Total Commander и показать в таблице | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*ABegin|End |
Удаление начальных/конечных строк.
Begin - количество удаляемых начальных строк (0 - если необходимо удалить только конечные строки). End - [необязательный] количество удаляемых конечных строк. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
^ANumber |
Удаление недопустимых символов в именах объектов (файлов и папок). 1. Производится удаление некорректных символов [\?\:\*\>\<\"\\/\t\n\f\r\v]. 2. Производится замена символов из настроек ключа ReplaceClipboardN Number - номер ключа N. 1 - настройки ключа ReplaceClipboard 2 - настройки ключа ReplaceClipboard2 3 - настройки ключа ReplaceClipboard3 ... 98 - настройки ключа ReplaceClipboard98 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*RMode|N *RMode|N-M *R=Mode|N *R=Mode|N-M |
Случайное количество символов. N - минимальное количество символов. M - максимальное количество символов. Символ '=' означает построчное получение символов (каждая строка обрабатывается отдельно).
Описание параметров:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
^RMode|N ^RMode|N-M |
Случайное количество строк. N - минимальное количество строк. M - максимальное количество строк.
Описание параметров:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*BN|Mode|Begin|End|Delim |
Разбить строку по N символов с добавлением в начало и конец заданных фраз.
N - количество символов, по которому разбивается строка. так же поддерживается Min-Max: строка будет разбита случайным числом из диапазона. Mode - [необязательный] режим добавления остатка: 0 - не добавлять остаток, если он меньше заданного количества символов (по умолчанию). 1 - добавлять. 2 - разбить по случайному количеству символов, при Min-Max. Begin - [необязательный] строка для добавления в начало отрезков (по умолчанию пустая строка). End - [необязательный] строка для добавления в конец отрезков (по умолчанию пустая строка). Delim - [необязательный] разделитель между отрезками (по умолчанию перенос строки). Могут использоваться функций Autoit Chr() и ChrW(), которые заменяются соответствующими символами | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*VN|Mode |
Реверс строки по N символов.
N - количество символов, по которому разбивается строка и происходит реверс. Mode - [необязательный] режим добавления остатка: 0 - реверс отрезков на месте (по умолчанию) (при N=2 : 0123456789 ==> 1032547698). 1 - реверс с перемещением отрезков (при N=2 : 0123456789 ==> 8967452301). | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
^BMode!!RegExp!!C!!S!!D |
Форматирование с использованием регулярного выражения: добавление дополнительных пробелов относительно длины строки.
Mode,Flag,KeyTable,ModeTable!!RegExp!!Columns|Len!!Symbol!!Delim!!End Mode - режим: 0 - если нет совпадения с регулярным выражением, то строка удаляется. 1 - если нет совпадения с регулярным выражением, то заменяется пустой строкой. 2 - если нет совпадения с регулярным выражением, то строка остаётся без добавления пробелов. 3 - если нет совпадения с регулярным выражением, то строка заменяется пробелами. Flag - [необязательный] 0 - пробелы добавляются в конец строк (по умолчанию). 1 - пробелы добавляются в начало строк. 2 - пробелы равномерно добавляются в начало и конец строк (в начало меньше при нечётном количестве добавления). 3 - пробелы равномерно добавляются в начало и конец строк (в конец меньше при нечётном количестве добавления). KeyTable - [необязательный] обрамить данные в виде таблице заданными символами: имя ключа из TCIMG.ini из секции [Table], где прописаны символы для создания таблицы (по умолчанию 0 - не обрамлять данные в виде таблицы). в ключе 15 символов, прописанных через запятую, пример: Key=╔,╦,╗,╠,╬,╣,╚,╩,╝,═,║,═,║,═,║ ModeTable - [необязательный] режим создания таблицы из заданных символов. 0 - обрамить данные по периметру (по умолчанию)*. 1 - обрамить данные по периметру и горизонтально между строками*. 2 - обрамить данные по периметру и вертикально между колонками. 3 - обрамить данные по периметру, горизонтально между строками и вертикально между колонками. 4 - вставить горизонтально между строками*. 5 - вставить вертикально между колонками. 6 - вставить горизонтально между строками и вертикально между колонками. 7 - вставить горизонтально между строками и добавить 1-ю и последнюю строку символами*. 8 - вставить вертикально между колонками и добавить 1-ю и последнюю колонку символами. * - режимы для 1D массива. RegExp - регулярное выражение по которому разбиваются строки текста в колонки. для тестирования можно воспользоваться командой anf2d с режимами "2" и "6". Columns - [необязательный] номера колонок, прописанные через запятую, в которые будут добавлены недостающие пробелы, отсчёт с 1 (по умолчанию 1:-1 - все колонки). можно использовать диапазон нескольких колонок через запятую (1,3:6,8:11,13:-1). Len - [необязательный] - установка ширины/длины колонки/колонок (по умолчанию ширина, относительна максимальной длины значений колонки). варианты: ► Len1,Len2,...,LenN - список длин/чисел прописанные через запятую, каждое соответствует заданной ячейке. ► #Len - символ "#" означает, что значение будет применено ко всем колонкам. в Len могут использоваться символы "L" (будет заменён максимальной длиной значений колонки) и "M" (будет заменён максимальной длиной всех значений таблицы). в Len могут использоваться математические действия. число Len должно быть равно или больше максимальной длины значений колонки, в ином случае оно игнорируется. Symbol - [необязательный] символ, который добавляется (по умолчанию пробел). Delim - [необязательный] разделитель между колонками (по умолчанию пустая строка) ('Null', означает пустую строку). End - [необязательный] вставка в конец строки (по умолчанию пустая строка). Могут использоваться функций Autoit Chr() и ChrW(), которые заменяются соответствующими символами Принцип форматирования текста: 1. Текст разбивается построчно. 2. Каждая строка разбивается с помощью заданного регулярного выражения. 3. Создаётся 1D или 2D массив. 4. В заданные колонки добавляются пробелы, относительно максимальной длины ячейки. данные обрамляются в виде таблице символами (если задан этот режим). 5. Массив преобразуется в текст. Параметр может быть полезным для просмотра в текстовом редакторе при моноширинных шрифтах... Подобные функции для массивов в команде arr2d в режимах "89", "90", "91", "92", а так же в режиме "99" | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*E |
Выход из программы.
Если текущая строка для форматирования пуста, то происходит выход из программы. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
*C|N1,N2,...|K1,K2,... *C|N1,N2,...|=K|Mode |
Копирование строк(и) в заданные позиции.
N1,N2,...|K1,K2,... N1,N2,... - номер или номера строк, которые будут копироваться. K1,K2,... - номер или номера строк, после которых будут вставлены строки N1,N2,... при Копирование первых строк через заданное количество. N1,N2,...|=K|Mode N1,N2,... - номер или номера строк, которые будут копироваться. =K - число строк, через которое будет вставлены строки N1,N2,... Mode - [необязательный] режим вставки: 0 - вставлять после всех K строк (по умолчанию). 1 - не вставлять после последней строки. |
tnum[] enum[] | Цифровой счётчик.
Параметр tnum[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 Счётчик может быть как нижнем, так и в верхнем регистре, в зависимости от заданной буквы Letter Буквенный счётчик со своим набором символов. Параметр enum[Key?Number|Step|Count], где: Key - имя ключа в TCIMG.ini в секции [Enum], в котором прописан набор символов через разделитель |. Number - номер - с какого элемента из набора начать. Step - шаг счётчика. Count - количество букв в счётчике.
Пример записи:
[Enum] |
rndm[] | Получение случайных данных. см. Дополнение №30 |