2017-03-16 63 views
0

所以我一個試圖使用武器傷害,具有良好的預測,但我不知道我應該如何與變量替換此...得到一個自定義的隨機數

SET /A RAND=%RANDOM%%% 100+1 

我認爲這將是改寫成這樣:

SET /A RAND=%RANDOM%%%Max%+%Min% 

,但我不知道... THX不管怎麼說:d

+2

您錯過了'%RANDOM%'和'%Max%'之間的第二個'%',但我沒有看到爲什麼它不能正常工作。當你嘗試時會發生什麼? – SomethingDark

回答

1
set /A Max=100 
set /A MIN=1 
SET /A RAND=%RANDOM% %% %Max%+%Min% 

注意SET /A RAND=%RANDOM% %% %Max%+%Min%是equivale NT到

SET /A RAND=%RANDOM% %% Max + Min 

有關說明,請參閱SET A examples

SET /A將在表達治療任意字符串作爲 環境變量名稱。這使您可以使用 環境變量進行算術運算,而無需輸入任何%符號來獲取 值。

以上聲明被不是有效期爲volatile variables,所以你需要(在使用delayed expansion的必要性或!感嘆號爲!RANDOM!)使用%百分號作爲%RANDOM%,請參見下面的例子(複製 - 粘貼從打開cmd窗口):

==> set /A RANDOM 
0 
==> set /A %RANDOM% 
2651 

另一個例子(沒有合理使用):

==> set /A CMDEXTVERSION 
0 
==> set /A %CMDEXTVERSION% 
2 
==> 2>NUL nonsens 

==> set /A ERRORLEVEL 
0 
==> set /A %ERRORLEVEL% 
9009 
==>