Генерация случайных чисел в пакетных файлах Windows работает с использованием динамической переменной %Random%. 13 С её помощью можно получить случайное целое число от 0 до 32767. 1
Чтобы сгенерировать случайное число в определённом диапазоне, например от 1 до 100, можно использовать команду: 13
set /a result=(%RANDOM%*max/32768)+min
где max — верхнее число, которое может быть сгенерировано, а min — наименьшее число, которое может быть сгенерировано. 3 При этом не получится десятичных чисел, потому что команда set /a автоматически округляется. 3
Для генерации чисел, больших 32767, можно использовать следующий метод: 13
set /a result=%random:~-1%%random:~-1%%random:~-1%%random:~-1%%random:~-1%%random:~-1%
Этот код извлекает 1 символ из каждого %random%. 3
Следует учитывать, что cmd.exe генерирует семя в зависимости от времени начала секции cmd, поэтому если начать работу с несколькими разделами почти в одно и то же время, результат может быть недостаточно «случайным». 3