Дополнение №30


Параметры rndm[] и rndm<>



Описание параметра.


Параметры позволяют получать различную информацию случайных данных.

Конструкция параметров аналогичная для rndm[] и rndm<>, разница в скобках:

 a) Одно условие:

rndm<Number|Condition>

 б) Несколько условий:

rndm<Number1|Condition1!!#String!!Number2|Condition2!! ... !!NumberN|ConditionN>

Каждая пара Number|Condition разделяются символами !!

Number - номер, относящийся к необходимой информации.
  После номера может быть прописан символ:
    + - строка будет переведена в верхний регистр.
    - - строка будет переведена в нижний регистр.
    ~ - случайный перевод каждого символа строки в нижний или верхний регистр.
  После +/-/~ или сразу после номера может быть прописано:
    ?Count - где Count количество возвращаемых строк.

Condition - условия для получения информации.
#String - строка (необязательный), должен начинаться с #.
clpget - в любом месте тег clpget будет заменён содержимым буфера обмена.

Использование: В тех, командах (методах), где есть в описании rndm<> - используется rndm<>, там где указано rndm[] - используется rndm[]

В BeginLine и EndLine можно вставлять коды символов с помощью функций Autoit Chr() и ChrW(), которые заменяются соответствующими символами, а так же ClipGet(), которая заменяется содержимым буфера обмена и Number(), позволяющая производить математические действия.

1. Случайный набор символов [1,2,3,4,5,6,8,23,42,43]
2. Случайное число из диапазона [7]
3. Случайный цвет [10]
4. Случайная дата [11]
5. Случайный набор Юникод символов [12]
6. Случайный набор ASCII символов [13]
7. Случайное значение из строки заданного ключа [20]
8. Случайное значение из заданной строки [21]
9. Случайное значение из файла списка значений [22]
10. Случайное время из заданного диапазона [25]
11. Случайный набор из символов заданной строки [26]
12. Случайный набор из символов прописанных в [PassGenerator] [27]
13. Временный файл [28,29,30]
14. Случайные числа из диапазона [40]
15. Случайные данные строки шаблона [41]
16. Случайное число заданной системы счисления [44,45,46,47]


1.

  Случайный набор символов
rndm<Number|Length(|BeginLine|EndLine)>, где:
  Number
    1 - набор цифр.
    2 - набор латинских букв.
    3 - набор цифр и латинских букв.
    4 - набор символов (диапазон 33 - 122 dec).
    5 - набор символов (диапазон 33 - 160 dec).
    6 - набор символов (диапазон 32 - 255 dec).
    8 - набор русских символов.
    23 - набор русских символов и цифр.
    42 - случайное простое число.
    43 - случайное составное число.

  Length - количество символов в наборе.
    - может быть диапазоном M-N определяющее случайное количество.

  BeginLine [необязательный] строка добавляемая в начало случайных данных.
  EndLine [необязательный] строка добавляемая в конец случайных данных.

Примечание:
  Нет.

Примеры:

bufsr=##rndm<3|[input=BOX76]>||#Eb64-||=!! ;; создать пароль случайными данными заданной длины и кодировать в MIME Base64
bufsr=##rndm<3|20>||#Eb64-||=!! ;; мини генератор одноразовых паролей нужной длинны + b64 в буфере обмена
bufsr=##rndm<3|40> ;; записать в буфер обмена строку со случайными 40 символами
bufsr=##rndm<3|40>||#X||0x!!||#Eb64- ;; генератор пароля с использованием преобразования случайной комбинации буквы, цифры+ сжатая бинарная строка+ b64
bufsr=##rndm<3|80>||#Hsha256|1||#Euue-||#V||&&(.)(.)!!$2$1||#Euue-||#V||#Eb64-||&&(.{42})(.*)(.{41})!!$2||&&(.)(.)!!$2$1 pause=10s clpclr sndps=1 ;; генератор случайных паролей, - отправка в буфер случайного пароля, каждый раз создается новый пароль, через 10 секунд он удаляется из буфера обмена
bufsr=##rndm<4|40> ;; записать в буфер обмена строку со случайными 40 символами (диапазон символов от 33 до 122 DEC)
bufsr=##rndm<5|40> ;; записать в буфер обмена строку со случайными 40 символами (диапазон символов от 33 до 160 DEC)
bufsr=##rndm<6|40> ;; записать в буфер обмена строку со случайными 40 символами (диапазон символов от 32 до 255 DEC)
bufsr=##rndm<8|40!!#@CRF!!8|40> ;; записать в буфер обмена случайный набор из 40 русских символов (2 строки)
bufsr=##rndm<8|40> ;; записать в буфер обмена случайный набор из 40 русских символов

bufsr=##rndm<2|5-9> ;; записать в буфер обмена строку со случайными символами (случайная длина строки в диапазоне 5-9)
bufsr=##rndm<2-|5-9> ;; записать в буфер обмена строку со случайными символами (случайная длина строки в диапазоне 5-9) в нижнем регистре
bufsr=##rndm<2+|5-9> ;; записать в буфер обмена строку со случайными символами (случайная длина строки в диапазоне 5-9) в верхнем регистре

bufsr=##rndm<23|25-50> ;; записать в буфер обмена строку со случайным набором русских символов и цифр (случайная длина строки в диапазоне 25-50)
bufsr=##rndm<23-|25-50> ;; записать в буфер обмена строку со случайным набором русских символов и цифр (случайная длина строки в диапазоне 25-50) в нижнем регистре
bufsr=##rndm<23+|25-50> ;; записать в буфер обмена строку со случайным набором русских символов и цифр (случайная длина строки в диапазоне 25-50) в верхнем регистре

jends=x??-1||##rndm<3?10|20> GLOBALJENDS<a> ;; получить 10 строк со случайными данными (набор цифр и латинских букв, длина строки 20)
jends=x??-1||##rndm<3-?10|20> GLOBALJENDS<a> ;; получить 10 строк со случайными данными в нижнем регистре (набор цифр и латинских букв, длина строки 20)
jends=x??-1||##rndm<3?10|5-50> GLOBALJENDS<a> ;; получить 10 строк со случайными данными (набор цифр и латинских букв, случайная длина строки от 5 до 50)
jends=x??-1||##rndm<3+?10|20> GLOBALJENDS<a> ;; получить 10 строк со случайными данными в верхнем регистре (набор цифр и латинских букв, длина строки 20)

renms=%WL||$$~~rndm<3|8> ;; переименование - добавление в конец базового имени случайных цифр и латинских символов, длина 8
renms=%WL||^^rndm<2|4>~~ ;; переименование - добавление в начало базового имени случайных латинских символов, длина 4
renms=%WL||##rndm<1|9> ;; переименование - замена базовое имя случайными цифрами, длина 9
renms=%WL||##cntr<1|1|8|1>||$$~~rndm<3|8> ;; переименование - замена имени на счётчик + случайные цифры и буквы

jends=x??-1||##rndm<42?10|50> GLOBALJENDS<a> ;; получить 10 случайных простых чисел, длина числа 50
jends=x??-1||##rndm<43?10|80> GLOBALJENDS<a> ;; получить 10 случайных составных чисел, длина числа 80
jends=x??-1||##rndm<42?20|5-10> GLOBALJENDS<a> ;; получить 20 случайных простых чисел, случайная длина числа в диапазоне от 5 до 10
jends=x??-1||##rndm<43?20|5-10> GLOBALJENDS<a> ;; получить 20 случайных составных чисел, случайная длина числа в диапазоне от 5 до 10


2.

  Случайное число из диапазона
rndm<7|Min:Max(:Mode:NumberLine)(|BeginLine|EndLine)>, где:
  Number
    7 - случайное число из диапазона.

  Min - наименьшее генерируемое число.
  Max - наибольшее генерируемое число.
  Mode [необязательный] - режим получения чисел (по умолчанию любые числа).
    0 - возвращаются случайные числа относительно кратности числа/чисел NumberLine.
    1 - возвращаются случайные числа кроме кратности числа/чисел NumberLine.
    2 - возвращаются случайные числа оканчивающиеся на число/числа NumberLine.
    3 - возвращаются случайные числа не оканчивающиеся на число/числа NumberLine.
    4 - возвращаются случайные числа начинающиеся на число/числа NumberLine.
    5 - возвращаются случайные числа не начинающиеся на число/числа NumberLine.
    6 - возвращаются случайные числа, в состав которых входит число/числа NumberLine.
    7 - возвращаются случайные числа, в состав которых не входит число/числа NumberLine.

    8 - возвращаются случайные числа, в состав которых входит регулярное выражение RegExp.
    9 - возвращаются случайные числа, в состав которых не входит регулярное выражение RegExp.
      RegExp - шаблон регулярного выражения должен проверять цифры.
      Если в шаблоне нужен символ |, то он заменяется на символ .
      Если шаблон начинается с ??Key то регулярное выражение берётся TCIMG.ini из секции [FormatUser] из ключа Key

  NumberLine - одно число или числа прописанные через запятую или RegExp для режимов 8 и 9.

  BeginLine [необязательный] строка добавляемая в начало случайных данных.
  EndLine [необязательный] строка добавляемая в конец случайных данных.

Примечание:
  Нет.

Примеры:

bufsr=##rndm<7|10000:99999> ;; записать в буфер обмена случайное число из диапазона от 10000 до 99999

jends=x??-1||##rndm<7?20|0:100> GLOBALJENDS<a> ;; получить 20 случайных цифр от 0 до 100

jends=x??-1||##rndm<7?20|0:1000:0:3> GLOBALJENDS<a> ;; получить 20 случайных чисел от 0 до 1000 кратные 3-м
jends=x??-1||##rndm<7?20|0:1000:0:3,5,7> GLOBALJENDS<a> ;; получить 20 случайных чисел от 0 до 1000 кратные 3-м, 5-ти и 7-ми

jends=x??-1||##rndm<7?20|1:1000:1:5> GLOBALJENDS<a> ;; получить 20 случайных чисел от 1 до 1000 кроме чисел кратных 5-ти
jends=x??-1||##rndm<7?20|1:1000:1:3,5,7> GLOBALJENDS<a> ;; получить 20 случайных чисел от 1 до 1000 кроме чисел кратных 3-м, 5-ти и 7-ми

jends=x??-1||##rndm<7?20|1:1000:2:5> GLOBALJENDS<a> ;; получить 20 случайных чисел от 1 до 1000 оканчивающихся на цифру 5
jends=x??-1||##rndm<7?20|1:1000:2:3,5,7> GLOBALJENDS<a> ;; получить 20 случайных чисел от 1 до 1000 оканчивающихся на цифры 3, 5 и 7

jends=x??-1||##rndm<7?20|1:1000:3:5> GLOBALJENDS<a> ;; получить 20 случайных чисел от 1 до 1000 кроме оканчивающихся на цифру 5
jends=x??-1||##rndm<7?20|1:1000:3:3,5,7> GLOBALJENDS<a> ;; получить 20 случайных чисел от 1 до 1000 кроме оканчивающихся на цифры 3, 5 и 7

jends=x??-1||##rndm<7?20|1:1000:4:5> GLOBALJENDS<a> ;; получить 20 случайных чисел от 1 до 1000 начинающихся с цифры 5
jends=x??-1||##rndm<7?20|1:1000:4:3,5,7> GLOBALJENDS<a> ;; получить 20 случайных чисел от 1 до 1000 начинающихся с цифр 3, 5 и 7

jends=x??-1||##rndm<7?20|1:1000:5:8> GLOBALJENDS<a> ;; получить 20 случайных чисел от 1 до 1000 кроме начинающихся с цифры 8
jends=x??-1||##rndm<7?20|1:1000:5:3,8,7> GLOBALJENDS<a> ;; получить 20 случайных чисел от 1 до 1000 кроме начинающихся с цифр 3, 8 и 7

jends=x??-1||##rndm<7?20|1:1000:6:10> GLOBALJENDS<a> ;; получить 20 случайных чисел от 1 до 1000 в составе которых есть число 10
jends=x??-1||##rndm<7?20|1:1000:6:10,19,38> GLOBALJENDS<a> ;; получить 20 случайных чисел от 1 до 1000 в составе которых есть число 10, 19 или 38

jends=x??-1||##rndm<7?20|1:1000:7:10> GLOBALJENDS<a> ;; получить 20 случайных чисел от 1 до 1000 в составе которых нет числа 10
jends=x??-1||##rndm<7?20|1:1000:7:10,19,38> GLOBALJENDS<a> ;; получить 20 случайных чисел от 1 до 1000 в составе которых нет чисел 10, 19 или 38

jends=x??-1||##rndm<7?20|1000:9999:8:.+10.+> GLOBALJENDS<a> ;; получить 20 случайных чисел от 1000 до 9999 в составе которых в середине число 10
jends=x??-1||##rndm<7?20|1000:9999:8:.+(10•30•60).+> GLOBALJENDS<a> ;; получить 20 случайных чисел от 1000 до 9999 в составе которых в середине число 10, 30 или 60
jends=x??-1||##rndm<7?20|1000:9999:8:??random7_1> GLOBALJENDS<a> ;; получить 20 случайных чисел от 1000 до 9999 в составе которых в середине число 10, 30 или 60


3.

  Случайный цвет
rndm<10|Mode:Count:Delimeter(|BeginLine|EndLine)>, где:
  Number
    10 - случайный цвет.

  Mode - режим.
    0 - возвращается цвет вида FF0000 - 6 символов.
    1 - возвращается цвет вида rgb(226,74,130).
    2 - возвращается ARGB цвет вида FF000000 - 8 символов.
  Count [необязательный] - количество генерируемых цветов (по умолчанию 1).
  Delimeter [необязательный] разделитель между цветами, по умолчанию "|"
    В разделителе могут использоваться функций Autoit:
      Chr() и ChrW(), которые заменяются соответствующими символами.
      ClipGet(), заменяется содержимым буфера обмена.
      Number(), производит математические действия.

  BeginLine [необязательный] строка добавляемая в начало случайных данных.
  EndLine [необязательный] строка добавляемая в конец случайных данных.

Примечание:
  Диапазон получаемых цветов от 000000 (черного) до FFFFFF (белого).

Примеры:

bufsr=##rndm<10|0|#> ;; записать в буфер обмена случайный html цвет (#0053FA)
bufsr=##rndm<10|1> ;; записать в буфер обмена случайный rgb цвет (rgb(98,98,150))

jends=x!!-1||##rndm<10?15|0|#> GLOBALJENDS<a> ;; получить 15 случайных цветов
uends=x!!-1||##rndm<10-?15|0|#> GLOBALUENDS<a> ;; получить 15 случайных цветов в нижнем регистре

aends=x??-1||##rndm<10|0:9:~~#|#> GLOBALAENDS<a> ;; получить 9 случайных цветов
aends=x??-1||##rndm<10?4|0:2:-#|gradient:#> GLOBALAENDS<a> ;; получить 4 строки с 2-мя случайными цветами


4.

  Случайная дата
rndm<11|FormatData(?StringData)(|BeginLine|EndLine)>, где:
  Number
    11 - случайная дата.

  FormatData - формат возвращаемой даты:
    YYYY.YY.MM.DD.HH.NN
      YYYY - все четыре цифры года.
      YY - последние две цифры года.
      MM - месяц от 01 до 12.
      DD - день месяца от 01 до 31.
      HH - часы в 24-часовом формате от 00 до 23.
      NN - минуты от 00 до 59.
      SS - секунды от 00 до 59.
    Вместо точек может быть текст или символ.

  StringData [необязательный] - строка диапазонов времени прописанных через запятую X:Min:Max, где:
    X - буква формата (Y - для года, M - для месяца, D - для дня, H - для часа, N - для минут, S - для секунд).
    Min - наименьшее генерируемое число для заданного формата.
    Max - наибольшее генерируемое число для заданного формата.

  BeginLine [необязательный] строка добавляемая в начало случайных данных.
  EndLine [необязательный] строка добавляемая в конец случайных данных.

Пример записи:

rndm<11| YYYY.MM.DD-HH.NN.SS?Y:2000:2015,M:2:6,D:10:20>


Примеры:

bufsr=##rndm<11|YYYY.MM.DD~~-~~HH:NN:SS?Y:2000:2015> ;; записать в буфер обмена случайную дату (диапазон года 2000:2015)
bufsr=##rndm<11|YYYY.MM.DD~~-~~HH:NN:SS> ;; записать в буфер обмена случайную дату

jends=x!!-1||##rndm<11?10|YYYY.MM.DD~~-~~HH:NN:SS?Y:2015:2016> GLOBALJENDS<a> ;; получить 10 случайных дат в диапазоне 2015-2016 года


5.

  Случайный набор Юникод символов
rndm<12|Min:Max:Length(|BeginLine|EndLine)>, где:
  Number
    12 - случайный набор Юникод символов.

  Min - наименьший генерируемый юникодный код символа (минимальный=0).
  Max - наибольший генерируемый юникодный код символа (максимальный=65535).
  Length - количество символов в наборе.
    - может быть диапазоном M-N определяющее случайное количество.

  BeginLine [необязательный] строка добавляемая в начало случайных данных.
  EndLine [необязательный] строка добавляемая в конец случайных данных.

Примечание:
  Нет.

Примеры:

bufsr=##rndm<12|0:65535:40> ;; записать в буфер обмена случайный набор из 40 юникодных символов

bufsr=##rndm<12|0:65535:20-60> ;; записать в буфер обмена случайный набор из юникодных символов (случайное количество в диапазоне 20-60)
bufsr=##rndm<12-|0:65535:20-60> ;; записать в буфер обмена случайный набор из юникодных символов (случайное количество в диапазоне 20-60) в нижнем регистре
bufsr=##rndm<12+|0:65535:20-60> ;; записать в буфер обмена случайный набор из юникодных символов (случайное количество в диапазоне 20-60) в верхнем регистре

jends=x!!-1||##rndm<12?5|0:65535:20-30> GLOBALJENDS<a> ;; получить 5 строк случайного набора из юникодных символов (случайная длина строки от 20 до 30)
jends=x!!-1||##rndm<12?5|0:65535:40> GLOBALJENDS<a> ;; получить 5 строк случайного набора из 40 юникодных символов


6.

  Случайный набор ASCII символов
rndm<13|Min:Max:Length(|BeginLine|EndLine)>, где:
  Number
    13 - случайный набор ASCII символов.

  Min - наименьший генерируемый ASCII код символа (минимальный=0).
  Max - наибольший генерируемый ASCII код символа (минимальный=255).
  Length - количество символов в наборе.
    - может быть диапазоном M-N определяющее случайное количество.

  BeginLine [необязательный] строка добавляемая в начало случайных данных.
  EndLine [необязательный] строка добавляемая в конец случайных данных.

Примечание:
  Нет.

Примеры:

bufsr=##rndm<13|48:49:40> ;; записать в буфер обмена случайный набор из 40 нолей и единиц

bufsr=##rndm<13|65:70:10-50> ;; записать в буфер обмена случайный набор символов (A-F) (случайное количество в диапазоне 10-50)
bufsr=##rndm<13-|65:70:10-50> ;; записать в буфер обмена случайный набор символов (A-F) (случайное количество в диапазоне 10-50) в нижнем регистре
bufsr=##rndm<13|65:70:40> ;; записать в буфер обмена случайный набор из 40 символов (A-F)

jends=x!!-1||##rndm<13?12|65:70:5-30> GLOBALJENDS<a> ;; получить 12 строк случайного набора из символов (A-F) (случайная длина строки от 5 до 30)

uends=x!!-1||##rndm<13~?18|65:70:40> GLOBALUENDS<a> ;; получить 18 строк случайных символов (A-F), длина строки 30 + случайный верхний и нижний регистр символов
uends=x!!-1||##rndm<13~|65:70:40> GLOBALUENDS<a> ;; получить строку случайных символов (A-F), длина строки 30 + случайный верхний и нижний регистр символов


7.

  Случайное значение из строки заданного ключа
rndm<20|NameKey(|BeginLine|EndLine) , где:
  Number
    20 - случайное значение из строки заданного ключа.

  NameKey - имя ключа из секции [Random] в TCIMG.ini, в котором прописываются значения через разделитель |

  BeginLine [необязательный] строка добавляемая в начало случайных данных.
  EndLine [необязательный] строка добавляемая в конец случайных данных.

Пример записи:

[Random]
NameKey=Value1|Value2|Value3|Value4|Value5


Примеры:

bufsr=##rndm<20|BaseColor> ;; записать в буфер обмена случайное значение из строки значений, прописанных в TCIMG.ini в секции [Random] в ключе BaseColor


8.

  Случайное значение из заданной строки
rndm<21|LineValues(|BeginLine|EndLine) , где:
  Number
    21 - случайное значение из заданной строки.

  LineValues - строка значений, которые прописываются через разделитель.
    Разделитель указывается первым символом.
    Разделителем является любой один символ, кроме символов: |, [ , ] , < , >.

  BeginLine [необязательный] строка добавляемая в начало случайных данных.
  EndLine [необязательный] строка добавляемая в конец случайных данных.

Примечание:
  Нет.

Примеры:

bufsr=##rndm<21|;Value1;Value2;Value3;Value4;Value5> ;; записать в буфер обмена случайное значение из строки значений


9.

  Случайное значение из файла списка значений
rndm<22|ListFile(|BeginLine|EndLine) , где:
  Number
    22 - случайное значение из файла списка значений.

  ListFile - путь к файлу списка, в котором прописаны значения, каждое с новой строки.
      или глобальный массив $GLOBALNAME из которого будут получены данные случайной ячейки.

  BeginLine [необязательный] строка добавляемая в начало случайных данных.
  EndLine [необязательный] строка добавляемая в конец случайных данных.

Примечание:
  Нет.

Примеры:

bufsr=##rndm<22|%WL> ;; записать в буфер обмена случайный путь из выделенных объектов
bufsr=##rndm<22|%P%N> ;; записать в буфер обмена случайную строку из текстового файла под курсором

global blist=%WL uends=x||##rndm<22|$GLOBALBLIST> GLOBALUENDS<a> ;; записать в буфер обмена случайный путь из выделенных объектов

uends=x??-1||##rndm<22?3|%WL> GLOBALUENDS<a> ;; из выделенных объектов получить 3 случайных пути


10.

  Случайное время из заданного диапазона
rndm<25|TimeMin~TimeMax(|BeginLine|EndLine) , где:
  Number
    25 - случайное значение времени из заданного диапазона.

  TimeMin - минимальное время (00:00:00).
  TimeMax - максимальное время (00:45:20).

    Формат времени HH:NN:SS
      HH - часы в 24-часовом формате от 00 до 23.
      NN - минуты от 00 до 59.
      SS - секунды от 00 до 59.

  BeginLine [необязательный] строка добавляемая в начало случайных данных.
  EndLine [необязательный] строка добавляемая в конец случайных данных.

Примечание:
  Нет.

Примеры:

bufsr=##rndm<25|00:00:00~00:45:25> ;; записать в буфер обмена случайное время в заданном диапазоне

jends=x!!-1||##rndm<25?20|00:00:00~23:42:28> GLOBALJENDS<a> ;; получить 20 строк случайного времени


11.

  Случайный набор из символов заданной строки
rndm<26|Line:Length(|BeginLine|EndLine)>, где:
  Number
    26 - случайный набор из символов заданной строки.

  Line - строка символов.
  Length - количество символов в наборе.
    - может быть диапазоном M-N определяющее случайное количество.

  BeginLine [необязательный] строка добавляемая в начало случайных данных.
  EndLine [необязательный] строка добавляемая в конец случайных данных.

Примечание:
  Нет.

Примеры:

bufsr=##rndm<26|сТрОкА:30> ;; записать в буфер обмена случайный набор 30 символов из заданной строки
bufsr=##rndm<26-|сТрОкА:30> ;; записать в буфер обмена случайный набор 30 символов из заданной строки в нижнем регистре
bufsr=##rndm<26+|сТрОкА:30> ;; записать в буфер обмена случайный набор 30 символов из заданной строки в верхнем регистре

bufsr=##rndm<26|сТрОкА:10-50> ;; записать в буфер обмена случайный набор символов из заданной строки (случайное количество в диапазоне 10-50)
bufsr=##rndm<26-|сТрОкА:10-50> ;; записать в буфер обмена случайный набор символов из заданной строки (случайное количество в диапазоне 10-50) в нижнем регистре
bufsr=##rndm<26+|сТрОкА:10-50> ;; записать в буфер обмена случайный набор символов из заданной строки (случайное количество в диапазоне 10-50) в верхнем регистре

jends=x!!-1||##rndm<26?8|сТрОкА:30> GLOBALJENDS<a> ;; получить 8 строк случайного набора заданной строки (длина строки 30)
jends=x!!-1||##rndm<26-?8|сТрОкА:30> GLOBALJENDS<a> ;; получить 8 строк случайного набора заданной строки в нижнем регистре (длина строки 30)
jends=x!!-1||##rndm<26?8|сТрОкА:5-50> GLOBALJENDS<a> ;; получить 8 строк случайного набора заданной строки (случайная длина строки от 5 до 50)
jends=x!!-1||##rndm<26+?8|сТрОкА:30> GLOBALJENDS<a> ;; получить 8 строк случайного набора заданной строки в верхнем регистре (длина строки 30)

uends=x!!-1||##rndm<26~?12|строка:18-23> GLOBALUENDS<a> ;; получить 12 строк случайных данных из заданной строки, случайная длина строки от 18 до 23 + случайный верхний и нижний регистр символов
uends=x!!-1||##rndm<26~?12|строка:30> GLOBALUENDS<a> ;; получить 12 строк случайных данных из заданной строки, длина строки 30 + случайный верхний и нижний регистр символов
uends=x!!-1||##rndm<26~|строка:30> GLOBALUENDS<a> ;; получить строку случайных данных из заданной строки, длина строки 30 + случайный верхний и нижний регистр символов


12.

  Случайный набор из символов прописанных в [PassGenerator]
rndm<27|Key:Length(|BeginLine|EndLine)>, где:
  Number
    27 - случайный набор из символов прописанных в ключе.

  Key - имя ключа из TCIMG.ini из секции [PassGenerator] в котором прописан набор символов.
  Length - количество символов в наборе.
    - может быть диапазоном M-N определяющее случайное количество.

  BeginLine [необязательный] строка добавляемая в начало случайных данных.
  EndLine [необязательный] строка добавляемая в конец случайных данных.

Примечание:
  Нет.

Примеры:

uends=x!!-1||##rndm<27?18|Line2:30> GLOBALUENDS<a> ;; получить 18 строк случайных данных (набор символов из TCIMG.ini из секции [PassGenerator] из ключа Line2, длина строки 30)
uends=x!!-1||##rndm<27?25|Line1:10-50> GLOBALUENDS<a> ;; получить 25 строк случайных данных (набор символов из TCIMG.ini из секции [PassGenerator] из ключа Line1, случайная длина строки от 10 до 50)

uends=x!!-1||##rndm<27|Line1:10-50> GLOBALUENDS<a> ;; получить строку случайных данных (набор символов из TCIMG.ini из секции [PassGenerator] из ключа Line1, случайная длина строки от 10 до 50)
uends=x!!-1||##rndm<27|Line1:30> GLOBALUENDS<a> ;; получить строку случайных данных (набор символов из TCIMG.ini из секции [PassGenerator] из ключа Line1, длина строки 30)

uends=x!!-1||##rndm<27-|Line2:30> GLOBALUENDS<a> ;; получить строку случайных данных в нижнем регистре (набор символов из TCIMG.ini из секции [PassGenerator] из ключа Line2, длина строки 30)

uends=x!!-1||##rndm<27~?28|Line2:10-50> GLOBALUENDS<a> ;; получить 28 строк случайных данных (набор символов из TCIMG.ini из секции [PassGenerator] из ключа Line2, случайная длина строки от 10 до 50) + случайный верхний и нижний регистр символов
uends=x!!-1||##rndm<27~|Line2:10-50> GLOBALUENDS<a> ;; получить строку случайных данных (набор символов из TCIMG.ini из секции [PassGenerator] из ключа Line2, случайная длина строки от 10 до 50) + случайный верхний и нижний регистр символов
uends=x!!-1||##rndm<27~|Line2:30> GLOBALUENDS<a> ;; получить строку случайных данных (набор символов из TCIMG.ini из секции [PassGenerator] из ключа Line2, длина строки 30) + случайный верхний и нижний регистр символов

uends=x!!-1||##rndm<27+?18|Line2:30> GLOBALUENDS<a> ;; получить 18 строк случайных данных в верхнем регистре (набор символов из TCIMG.ini из секции [PassGenerator] из ключа Line2, длина строки 30)
uends=x!!-1||##rndm<27+?25|Line2:10-50> GLOBALUENDS<a> ;; получить 25 строк случайных данных в верхнем регистре (набор символов из TCIMG.ini из секции [PassGenerator] из ключа Line2, случайная длина строки от 10 до 50)
uends=x!!-1||##rndm<27+|Line2:30> GLOBALUENDS<a> ;; получить строку случайных данных в верхнем регистре (набор символов из TCIMG.ini из секции [PassGenerator] из ключа Line2, длина строки 30)

renms=%L||##rndm<27|Line2:6-12> ;; переименовать выделенные объекты случайными данными (набор символов из TCIMG.ini из секции [PassGenerator] из ключа Line2, случайная длина строки от 6 до 12)


13.

  Временный файл.
rndm<Number|Ext:Length(|BeginLine|EndLine)>, где:
  Number
    28 - временный файл в папке утилиты ...\Temp\
    29 - временный файл в системной папке ...\Temp\tci_...\
    30 - временный файл в системной папке ...\Temp\

  Ext - расширение временного файла.
  Length - количество символов имени файла.
    - может быть диапазоном M-N определяющее случайное количество.

  BeginLine [необязательный] строка добавляемая в начало случайных данных.
  EndLine [необязательный] строка добавляемая в конец случайных данных.

Примечание:
  Временный файл не создаётся, проверяется уникальность имени.
  При использовании файла(ов):
  - при Number=28 папку можно очистить командой tempxx
  - при Number=29 временная папка удаляется автоматически при завершении работы утилиты.
  - при Number=30 файлы удаляются самостоятельно.
  Минимальное количество символов имени Length = 8 , максимальное = 50 (по умолчанию 8).

Примеры:

qends=x!!-1||##rndm<28?10|txt> GLOBALQENDS<a> ;; получить 10 путей временных файлов txt в папке утилиты ...\Temp\
qends=x!!-1||##rndm<28|txt:10-15> GLOBALQENDS<a> ;; получить путь временного файла txt в папке утилиты ...\Temp\ (случайная длина имени от 10 до 15 символов)
qends=x!!-1||##rndm<28|txt:15> GLOBALQENDS<a> ;; получить путь временного файла txt в папке утилиты ...\Temp\ (длина имени 15 символов)
qends=x!!-1||##rndm<28|txt> GLOBALQENDS<a> ;; получить путь временного файла txt в папке утилиты ...\Temp\

qends=x!!-1||##rndm<29?10|txt> GLOBALQENDS<a> ;; получить 10 путей временных файлов txt в системной папке ...\Temp\tci_...\
qends=x!!-1||##rndm<29|txt:10-15> GLOBALQENDS<a> ;; получить путь временного файла txt в системной папке ...\Temp\tci_...\ (случайная длина имени от 10 до 15 символов)
qends=x!!-1||##rndm<29|txt:15> GLOBALQENDS<a> ;; получить путь временного файла txt в системной папке ...\Temp\tci_...\ (длина имени 15 символов)
qends=x!!-1||##rndm<29|txt> GLOBALQENDS<a> ;; получить путь временного файла txt в системной папке ...\Temp\tci_...\

qends=x!!-1||##rndm<30?10|txt> GLOBALQENDS<a> ;; получить 10 путей временных файлов txt в системной папке ...\Temp\
qends=x!!-1||##rndm<30|txt:10-15> GLOBALQENDS<a> ;; получить путь временного файла txt в системной папке ...\Temp\ (случайная длина имени от 10 до 15 символов)
qends=x!!-1||##rndm<30|txt:15> GLOBALQENDS<a> ;; получить путь временного файла txt в системной папке ...\Temp\ (длина имени 15 символов)
qends=x!!-1||##rndm<30|txt> GLOBALQENDS<a> ;; получить путь временного файла txt в системной папке ...\Temp\


14.

  Случайные числа из диапазона
rndm<Number|Min:Max:Count:Repeat:Sort:Delimeter(|BeginLine|EndLine)>, где:
  Number
    40 - случайные числа из диапазона.

  Min - наименьшее генерируемое число.
  Max - наибольшее генерируемое число.
  Count [необязательный] - количество генерируемых чисел.
    по умолчанию максимальное количество чисел из диапазона (Max-Min+1).
  Repeat [необязательный]
    0 - могут быть повторы генерируемых чисел.
    1 - без повторов (по умолчанию).
  Sort [необязательный]
    0 - без сортировки (по умолчанию).
    1 - сортировка по возрастанию.
    2 - сортировка по убыванию.
  Delimeter [необязательный] разделитель между числами, по умолчанию "|"
    В разделителе могут использоваться функций Autoit:
      Chr() и ChrW(), которые заменяются соответствующими символами.
      ClipGet(), заменяется содержимым буфера обмена.
      Number(), производит математические действия.

  BeginLine [необязательный] строка добавляемая в начало случайных данных.
  EndLine [необязательный] строка добавляемая в конец случайных данных.

Примечание:
  Нет.

Примеры:

aends=x||##rndm<40|1:10:5> GLOBALAENDS<a> ;; получить 5 случайных неповторяющихся чисел в диапазоне от 1 до 10
aends=x||##rndm<40|1:10:5:1:1> GLOBALAENDS<a> ;; получить 5 случайных неповторяющихся чисел в диапазоне от 1 до 10 (сортировка по возрастанию)
aends=x||##rndm<40|1:10:5:1:2> GLOBALAENDS<a> ;; получить 5 случайных неповторяющихся чисел в диапазоне от 1 до 10 (сортировка по убыванию)
aends=x||##rndm<40|1:10:5:1:0:,> GLOBALAENDS<a> ;; получить 5 случайных неповторяющихся чисел в диапазоне от 1 до 10 с заданным разделителем
aends=x||##rndm<40|1:10:5|Begin-|-End> GLOBALAENDS<a> ;; получить 5 случайных неповторяющихся чисел в диапазоне от 1 до 10 с добавлением в начало и в конец заданных фраз

aends=x||##rndm<40|1:10:20:0> GLOBALAENDS<a> ;; получить 20 случайных чисел в диапазоне от 1 до 10
aends=x||##rndm<40|1:10:20:0:1> GLOBALAENDS<a> ;; получить 20 случайных чисел в диапазоне от 1 до 10 (сортировка по возрастанию)
aends=x||##rndm<40|1:10:20:0:2> GLOBALAENDS<a> ;; получить 20 случайных чисел в диапазоне от 1 до 10 (сортировка по убыванию)
aends=x||##rndm<40|1:10:20:0:0:,> GLOBALAENDS<a> ;; получить 20 случайных чисел в диапазоне от 1 до 10 с заданным разделителем

aends=x??-1||##rndm<40?7|1:10:5> GLOBALAENDS<a> ;; получить 7 строк с 5 случайными неповторяющимися числами в диапазоне от 1 до 10
aends=x??-1||##rndm<40?9|1:25000:1000:1:0:+> GLOBALAENDS<a> ;; получить 9 строк с 1000 случайных неповторяющихся чисел в диапазоне от 1 до 25000 с заданным разделителем (тест на скорость выполнения)

aends=x??-1||##rndm<40?10|1:36:5:1:0:~~> GLOBALAENDS<a> ;; генерировать 10 вариантов случайных чисел для лотереи 5 из 36
aends=x??-1||##rndm<40?10|1:49:6:1:0:~~> GLOBALAENDS<a> ;; генерировать 10 вариантов случайных чисел для лотереи 6 из 49


15.

  Случайные данные строки шаблона
rndm<Number|StringTemplate(|BeginLine|EndLine)>, где:
  Number
    41 - случайные данные строки шаблона.

  StringTemplate - строка-шаблон. В шаблон могут входить:

{Min:Max} {Min:Max:N}
{String1,String2,StringN}
{String1String2StringN}  {String1String2StringN:Count}
{@Key}  {@Key:Count}
{@Key@Section}  {@Key@Section:Count} 
{$GLOBALNAME}  {$GLOBALNAME:Count}
{$GLOBALNAME1,$GLOBALNAME2,...,$GLOBALNAMEN}   {$GLOBALNAME1,$GLOBALNAME2,...,$GLOBALNAMEN:Count}
{String}
0


  1. Фразы заключённые в фигурные скобки:

    {Min:Max:N} - фраза будет заменена случайным числом, где:
      Min - наименьшее генерируемое число.
      Max - наибольшее генерируемое число.
      N [необязательный] длина числа (добавляются ведущие нули), по умолчанию 0 - ведущие нули не добавляются.

    {String1,String2,...,StringN} - фраза будет заменена случайной String
      В String могут входить: числа, символы, фраза, функции Autoit.

    {String1String2StringN} - фраза будет заменена случайной String

    {String1String2StringN:Count} - фраза будет заменена случайной String
      Count - количество получаемых случайных элементов.

    {@Key} - фраза будет заменена случайным элементом, из набора ключа Key из секции [Random]
      В ключе Key элементы могут прописываться без разделителя или с разделителем |

    {@Key:Count} - фраза будет заменена случайными элементами, из набора ключа Key из секции [Random]
      Count - количество получаемых случайных элементов.

    {@Key@Section} - фраза будет заменена случайными элементами, из набора ключа Key из секции [Section]

    {@Key@Section:Count} - фраза будет заменена случайными элементами, из набора ключа Key из секции [Section]
      Count - количество получаемых случайных элементов.

    {@Key1,@Key2,...,@KeyN} - фраза будет заменена случайным элементом, из случайного набора ключа Key1,...,KeyN из секции [Random]

    {@Key1,@Key2,...,@KeyN:Count} - фраза будет заменена случайным элементом, из случайного набора ключа Key1,...,KeyN из секции [Random]
      Count - количество получаемых случайных элементов.

    {@Key1@Section,@Key2@Section,...,@KeyN@Section} - фраза будет заменена случайным элементом, из случайного набора ключа Key1,...,KeyN из секции [Section]

    {@Key1@Section,@Key2@Section,...,@KeyN@Section:Count} - фраза будет заменена случайным элементом, из случайного набора ключа Key1,...,KeyN из секции [Section]
      Count - количество получаемых случайных элементов.

    {$GLOBALNAME} - фраза будет заменена случайным элементом массива

    {$GLOBALNAME:Count} - фраза будет заменена случайными элементами массива
      Count - количество получаемых случайных элементов.

    {$GLOBALNAME1,$GLOBALNAME2,...,$GLOBALNAMEN} - фраза будет заменена случайным элементом из случайного массива

    {$GLOBALNAME1,$GLOBALNAME2,...,$GLOBALNAMEN:Count} - фраза будет заменена случайными элементами из случайного массива
      Count - количество получаемых случайных элементов.

    {String} - фраза String не заменяется, остаётся константой в заданном месте шаблона.
      В String могут входить: числа, символы, фраза, функции Autoit.

  2. Символы не заключённые в фигурные скобки:

    0 - символ 0 будет заменён случайным числом от 0 до 9
    Остальные символы, кроме "{}|" остаются в том месте шаблона, где прописаны.

Выше описанные методы могут располагаться в строке в любом месте и сколько угодно раз.

    В шаблоне могут использоваться функции Autoit:
      Chr() и ChrW(), которые заменяются соответствующими символами.
      Number(), производит математические действия.

  BeginLine [необязательный] строка добавляемая в начало случайных данных.
  EndLine [необязательный] строка добавляемая в конец случайных данных.

Примечание:
  Нет.

Примеры:

aends=x??-1||##rndm<41?10|{@0,@1}===={200:600:4}*{X,Y,Z}*00.{0Chr(124)}000.{0}0{3:5}-0> GLOBALAENDS<a> ;; получить 10 вариантов случайных данных заданного шаблона
aends=x??-1||##rndm<41?10|{200:600:4}*00.{0Chr(124)}000.{0}0{3:5}-0> GLOBALAENDS<a> ;; получить 10 вариантов случайных данных заданного шаблона

aends=x??-1||##rndm<41-?10|{@1:12}>||&&(..)(?=.)!!$1: GLOBALAENDS<a> ;; генерировать 10 вариантов случайных MAC адресов в нижнем регистре
aends=x??-1||##rndm<41-?10|{@1:2}:{@1:2}:{@1:2}:{@1:2}:{@1:2}:{@1:2}> GLOBALAENDS<a> ;; генерировать 10 вариантов случайных MAC адресов в нижнем регистре

aends=x??-1||##rndm<41-?10|{@1:32}>||?Fguid1 GLOBALAENDS<a> ;; генерировать 10 вариантов случайных GUID в нижнем регистре
aends=x??-1||##rndm<41?10|{@1:32}>||?Fguid2 GLOBALAENDS<a> ;; генерировать 10 вариантов случайных GUID в верхнем регистре (формат Braces)

aends=x??-1||##rndm<41-?10|{@1:8}-{@1:4}-{@1:4}-{@1:4}-{@1:12}> GLOBALAENDS<a> ;; генерировать 10 вариантов случайных GUID в нижнем регистре
aends=x??-1||##rndm<41?10|{Chr(123)}{@1:8}-{@1:4}-{@1:4}-{@1:4}-{@1:12}{Chr(125)}> GLOBALAENDS<a> ;; генерировать 10 вариантов случайных GUID в верхнем регистре (формат Braces)
aends=x??-1||##rndm<41-?10|{@1}{@1}:{@1}{@1}:{@1}{@1}:{@1}{@1}:{@1}{@1}:{@1}{@1}> GLOBALAENDS<a> ;; генерировать 10 вариантов случайных MAC адресов в нижнем регистре

aends=x??-1||##rndm<41?10|{0:255}.{0:255}.{0:255}.{0:255}> GLOBALAENDS<a> ;; генерировать 10 вариантов случайных IPv4 адресов

aends=x??-1||##rndm<41?10|{1975:2023}-{1:12:2}-{0:30:2}~~{0:23:2}:{0:59:2}:{0:59:2}> GLOBALAENDS<a> ;; генерировать 10 вариантов случайных дат по шаблону

aends=x??-1||##rndm<41?10|00.000.000/{0001}-00> GLOBALAENDS<a> ;; генерировать 10 вариантов случайных CNPJ номеров

aends=x??-1||##rndm<41?10|000.000.000-00> GLOBALAENDS<a> ;; генерировать 10 вариантов случайных CPF номеров

tends=═║╓╔╕╖╗╘╙╚╛╜╝╞╟╠╡╢╣╤╥╦╧╨╩╪╫??-3 aends=x??-1||##rndm<41?10|{$GLOBALTENDS:32}> GLOBALAENDS<a> ;; получить 10 вариантов случайных данных заданного шаблона

aends=x??-1||##rndm<41?10|{••-}{100:999}.00000{1:9}> GLOBALAENDS<a> ;; генерировать 10 вариантов случайных положительных чисел от 100 до 1000 или отрицательных от -100 до -1000 с плавающей точкой, 6 знаков после запятой

aends=x??-1||##rndm<41?10|{•мама•маша•паша}~~{•мыла•рыла•шила}~~{•раму•яму•рану}> GLOBALAENDS<a> ;; генерировать 10 вариантов случайных данных из 3-х наборов слов


16.

  Случайное число заданной системы счисления
rndm<Number|Base:Length(|BeginLine|EndLine)>, где:
  Number
    44 - случайное равномерное распределенное число.
    45 - случайное равномерное распределенное число (усекается до заданного количества).

    46 - случайное однородное число.
    47 - случайное однородное число (усекается до заданного количества).

  Base - номер счисления (число от 2 до 62), наиболее распространенные:
  от 2 до 36 данные возвращаются в верхнем регистре.
    2 - двоичная (в строку данных входят числа входят числа: 0, 1).
    3 - троичная (в строку данных входят входят числа: 0, 1, 2).
    8 - восьмеричная (в строку данных входят входят числа: 0, 1, 2, 3, 4, 5, 6, 7).
    12 - двенадцатеричная (в строку данных входят входят числа и символы: 0, .., 9, A, B).
    16 - шестнадцатиричная (в строку данных входят входят числа и символы: 0, .., 9, A, ..., F).
    36 - тридцатишестиричная (в строку данных входят входят числа и символы: 0, .., 9, A, ..., Z).

    37 - (в строку данных входят входят числа и символы: 0, .., 9, A, ..., Z, a).
    38 - (в строку данных входят входят числа и символы: 0, .., 9, A, ..., Z, a, b).
    39 - (в строку данных входят входят числа и символы: 0, .., 9, A, ..., Z, a, b, c).
    62 - (в строку данных входят входят числа и символы: 0, .., 9, A, ..., Z, a, ...,z).

  Length - приблизительная длина числа.
    - может быть диапазоном M-N определяющее случайную длину числа.

  BeginLine [необязательный] строка добавляемая в начало случайных данных.
  EndLine [необязательный] строка добавляемая в конец случайных данных.

Примечание:
  Тестировалось на Windows 10 (на версиях ниже может не работать).   Рассчитано для больших чисел.

Примеры:

jends=x??-1||##rndm<44?8|10:50> GLOBALJENDS<a> ;; получить 8 равномерно распределенных случайных десятичных чисел, примерная длина числа 50
jends=x??-1||##rndm<44?8|16:50> GLOBALJENDS<a> ;; получить 8 равномерно распределенных случайных шестнадцатеричных чисел, примерная длина числа 50
jends=x??-1||##rndm<44?8|2:50> GLOBALJENDS<a> ;; получить 8 равномерно распределенных случайных двоичных чисел, примерная длина числа 50
jends=x??-1||##rndm<45?10|8:1000> GLOBALJENDS<a> ;; получить 10 равномерно распределенных случайных восьмеричных чисел, длина числа 1000

jends=x??-1||##rndm<46?8|10:50> GLOBALJENDS<a> ;; получить 8 однородных случайных десятичных чисел, примерная длина числа 50
jends=x??-1||##rndm<46?8|16:50> GLOBALJENDS<a> ;; получить 8 однородных случайных шестнадцатеричных чисел, примерная длина числа 50
jends=x??-1||##rndm<46?8|2:50> GLOBALJENDS<a> ;; получить 8 однородных случайных двоичных чисел, примерная длина числа 50
jends=x??-1||##rndm<47?10|8:1000> GLOBALJENDS<a> ;; получить 10 однородных случайных восьмеричных чисел, длина числа 1000



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