En utilisant un fichier .bat, je sais comment faire écho un nombre aléatoire avec% Random%. Comment puis-je définir une certaine plage aléatoire de% Random% e.g. 50-100? Oh, et j'ai un système de points qui indique au début: SET/A MAINSCORE = 0 Comment puis-je définir ce nombre aléatoire à ajouter/soustraire du MainScore? Merci.Fichier CMD-Batch Simple Random
Répondre
cela devrait aider:
# If you need a random int within a certain range, use the 'modulo' operator.
# This returns the remainder of a division operation.
RANGE=500
echo
number=$RANDOM
let "number %= $RANGE"
# ^^
echo "Random number less than $RANGE --- $number"
# If you need a random integer greater than a lower bound,
#+ then set up a test to discard all numbers below that.
FLOOR=200
number=0 #initialize
while [ "$number" -le $FLOOR ]
do
number=$RANDOM
done
echo "Random number greater than $FLOOR --- $number"
echo
# Let's examine a simple alternative to the above loop, namely
# let "number = $RANDOM + $FLOOR"
# That would eliminate the while-loop and run faster.
# But, there might be a problem with that. What is it?
# Combine above two techniques to retrieve random number between two limits.
number=0 #initialize
while [ "$number" -le $FLOOR ]
do
number=$RANDOM
let "number %= $RANGE" # Scales $number down within $RANGE.
done
echo "Random number between $FLOOR and $RANGE --- $number"
Taken from here: http://tldp.org/LDP/abs/html/randomvar.html
Ensuite, une fois que vous avez le numéro de $, vous pouvez juste faire quelque chose comme: num = expr $number + $MAINSCORE
espoir que aide.
Le %RANDOM%
renvoie un nombre compris entre 0 et 32767. Pour réduire cette plage, utilisez l'opérateur modulo et l'addition ou la soustraction pour compenser le résultat. Exemple:
@set /a bottomlimit = 50
@set /a upperlimit = 100
@set /a result = %bottomlimit% + %RANDOM% %% (%upperlimit% - %bottomlimit% + 1)
@echo %result%
Maintenant, c'est celui que je cherche. Merci! – user2507295
@GaborOrosz Vous devez ajouter '+ 1' entre parenthèses, sinon la limite supérieure ne sera jamais générée (l'opérateur modulo produit un résultat ** inférieur ** à son deuxième argument). Essayez avec 'bottomlimit = 1' et' upperlimit = 2' pour voir clairement le problème. –
@LorenzoDonati Vous avez raison! c'est produire le reste de la division qui est toujours moins que le diviseur bien sûr. Désolé à ce sujet ... –
@echo off
set min=5
set max=10
set /a range=max-min +1
set /a rnd=%random% %%%range% +%min%
echo %rnd%
pause
Personnellement, je vraiment ma façon de le faire
cela passera par une # entre 5 et 10
et le meilleur de tous, son propre. merci
programme simple qui vous permet de définir la quantité de numéros pour un programme de choix facile ...
:loop
cls
goto before
:before
@echo off
setlocal delayexpansion
cls
@mod con: clos=80 lines=25
title Number Picker
color 0a
cls
goto menu
:menu
cls
echo.
echo Number Picker
echo.
set/p input= "Number: "
if %input%== goto show
:show
set /a bottomlimit = 0
set /a upperlimit = %input%
set /a result = %bottomlimit% + %random% %% (%upperlimit% - %bottomlimit% +1)
echo.
echo Random Number: %result%
echo.
echo Press 'Y' to close press 'N' to go to menu...
echo.
set/p input= "Exit: "
if %input%==y exit
if %input%==n goto loop
- 1. Random directions
- 2. Random disk écrit
- 3. Applescript Random Delay
- 4. Random Word devant chaque ligne dans un fichier
- 5. jquery random sort
- 6. Random UnauthorizedAccessException lors de la lecture d'un fichier dans% temp%
- 7. Exception Random NHibernate IndexOutOfRange
- 8. Ensemencement SQLite random()
- 9. Seeding random dans django
- 10. Comment obtenir Random Number
- 11. Java: Random setSeed
- 12. Android Get Random Contact
- 13. Silverlight Random Font Bug
- 14. soapui random delay
- 15. Automapper Random Errors
- 16. Random Row dans MySQL
- 17. C++ random int function
- 18. Broken Random PHP
- 19. Haskell Random Generation
- 20. Unordered_set itérateur random
- 21. mysql random avec condition
- 22. Random rediriger vers/Undefined
- 23. Java Random seed
- 24. Picking Random Names
- 25. Random Number Generator
- 26. AS3 random .swf chargement
- 27. Random WordPress Admin 404s
- 28. SQL Server Random Sort
- 29. iPhone SDK Random Numbers
- 30. Random NSNumber du tableau
Merci! Cela aide – user2507295
@NabeelSaad ce que vous avez posté est un script shell bash. L'OP a posé des questions sur CMD-batch, ce qui est une indication assez claire qu'il utilise Windows. Ceci est une réponse trompeuse pour une question étiquetée [tag: fichier batch]. –