Batch файл (.bat, .cmd) - как сгенерировать произвольное число от 1 до 10?
Подскажите, пожалуйста.
Как можно в BAT файле можно сгенерировать произвольное число от 1 до 10? Афаик, %random% дает число от 0 до 32767, а что если мне нужно от 1 до 10? Есть какой-то простой способо кроме как генерировать в цикле %random% число, пока оно не окажется в пределах от 1 до 10? Сама задача такая, что нужно выбирать 1 из 10 файлов в произвольном порядке (1.bmp , 2.bmp , ... , 10.bmp). Кто какие способы может предложить? Спасибо! |
Цитата:
Код:
@Echo Off |
Извиняюсь что поднимаю старую тему, но хоть убейте не могу понять как вычисляется set /A V=.
К примеру %random% равен 95. Соответственно выглядеть будет так: set /A V=95 - (95 / 10) * 10 + 1. Как помниться еще со школы приоритет вычисления в данном случае: 1. Скобки 2. Умножение\деление 3. Плюс\минус ------------------------------------------------ 1. Делим то что в скобках: 95/10=9,5 2. Полученное умножаем на 10: 9,5*10=95 3. Далее отнимаем полученное число от 95: 95-95=0 4. И последнее: 0+1=1. Итого "echo !v!" показывает 6. То ли я владею старой информацией, то ли начинаю деградировать... |
DesmondTruman, попробуйте PowerShell :)
Код:
1..10 | % {Get-Random -Minimum 1 -Maximum 10 } |
Цитата:
Еще вариант: Код:
@Echo Off |
Vadikan, Спасибо, но интересует именно в cmd\bat.
El Sanchez, Спасибо, теперь всё ясно. |
А как нижний параметр задать? Например сгенерировать число от 25 до 50?
|
Код:
@Echo Off |
@Echo Off
SetLocal set /a i=%random%%%(50-25+1)+25 Echo:%i% pause>nul Так тоже работает. Спасибо. |
Цитата:
|
Время: 01:41. |
Время: 01:41.
© OSzone.net 2001-