help chain | help chars | help colors | help compile | help nocase | help office | help options | help patterns | help select | help shell | help unicode | help var | samp | Команда: help var Как устанавливать и читать переменные в SFK-скриптахЧтобы извлечь данные в одной команде и повторно использовать их в следующих командах Поддержка параметров и переменных Примеры Ввод «filt.bat in.txt --+foo» запустит фильтр sfk с использованием параметров «in.txt» и «-+foo». Файл filt.bat sfk script "%~f0" -from begin %* GOTO end sfk label begin +filter %1 %2 +end :end Глобальные переменные sfk setvar myvar="the test text" ... sfk echo foo +setvar myvar ... sfk xed in.txt "/foo*bar/[setvar myvar][part2][endvar]/" ... sfk ... +getvar myvar sfk ... +echo -var "using #(myvar)" sfk ... +xed "_Примечание: Для чтения или использования содержимого переменной по шаблону #(имя) необходимо указать опцию -var. Это сделано для того, чтобы избежать нежелательных побочных эффектов с командами, которые получают «#(» во входных файлах или входных текстовых потоках. Должны начинаться с a-z, затем a-z0-9_ Примеры:
Предопределенные переменные sfk
Чтобы получить текст текущего скрипта, используйте, например:
Доступ к переменной среды можно выполнить следующим образом:
Имя переменной не чувствительно к регистру в Windows и использует регистр в Linux. Пример:
Локальные переменные команд SFK
СМОТРИТЕ ТАКЖЕ
Форматирование вывода переменных Формальный синтаксис: С возможными управляющими символами: Пример: если переменная i содержит «1», то вывод команды: +echo -var ">#(i)<" >1<+echo -var ">#(3i)<" > 1< +echo -var ">#(-3i)<" >1 < +echo -var ">#(03i)<" >001< Пример: если переменная s содержит «abcde», то вывод команды: +echo -var ">#(.3s)<" >abc<+echo -var ">#(5.3s)<" > abc< Переменные в функциях При чтении текста переменной, например #(имя_переменной), можно применить некоторые дополнительные функции, используя #(func(имя_переменной,...)). Доступные функции: strpos(v,'text') - получить индекс текста в пределах v0=первый символ, -1=не найдено strpos(v,-case 'text') - то же, с учетом регистра (быстро)
strpos(v,myvar) - получить индекс текста из myvar в тексте переменной v
strpos(v,-spat '\x20') - поиск по шаблонам косой черты
strrpos(v,'text') - поиск справа
contains(v,'text') - сообщает 1, если текст найден в v, иначе 0.Принимает -case и -spat contains(v,-case a) - сообщает, содержится ли текст из переменной a внутри v,
используя быстрый поиск с учетом регистра
begins(v,'word') - проверить, начинается ли строка со слова,
возвращает 1 (да) или 0 (нет)>
ends(v,'word') - проверить, заканчивается ли строка словом,
возвращает 1 (да) или 0 (нет).substr(v,o[,l]) - подстрока от смещения o длина l,
которые сами могут быть переменными. Смещение 0 - это первый символ, отрицательный o начинается с правой стороны минус О rsubstr(v,o[,l]) - подстрока с правой стороны, принимая
до l символов в левом направлении
[l/r]trim(v) - убрать пробелы по бокам
isset(v) - 1, если установлено v, иначе 0
size(v) - количество байт в V
strlen(v) - количество символов в v,
если он содержит только обычный текст
numlines(v) - количество строк в V
Пример:
если переменная s содержит «foo bar», то вывод команды:
|