В этом сценарии максимальное число определено как 28, а список исключений - как 7 11 20. Сценарий использует цикл for для проверки того, находится ли сгенерированное случайное число в списке исключений. Если число находится в списке исключений, сценарий генерирует новое число, используя оператор goto для возврата к метке generateRandom. Если число не находится в списке исключений, сценарий выводит его на печать.
@echo off
setlocal enabledelayedexpansion
set max=28
rem исключения
set exceptionList=7 11 20
:generateRandom
set /a number=%random% %% %max% + 1
for %%a in (!exceptionList!) do (
if !number! == %%a (
goto generateRandom
)
)
echo The generated number is: !number!
endlocal