% variável de ambiente RANDOM% está dando um único número [duplicado]

0

Estou com problemas com a variável de ambiente %RANDOM% no seguinte comando:

FOR /l %%A in (0,1,30) do set /a results=1600 + %RANDOM% %% (1900 - 1600 + 1) && echo %%A--!results!

Espero que esta saída:

0--1656
1--1743
2--1629
3--1887
…

Mas estou recebendo isso:

0--1656
1--1656
2--1656
3--1656
…

A variável %RANDOM% deve retornar um número aleatório, mas está dando o mesmo número. Qual é o problema e como posso corrigi-lo?

    
por hbelouf 19.11.2013 / 17:57

1 resposta

1

Você também precisa usar a expansão atrasada para a variável RANDOM :

FOR /l %%A in (0,1,30) do set /a results=1600 + !RANDOM! %% (1900 - 1600 + 1) && echo %%A--!results!

    
por 19.11.2013 / 18:22