Vollständige Version anzeigen : [Batch]Frage zu %RANDOM%


DavyDave
07.05.2008, 02:24

Hey,
also ich habe eine Bat "geschrieben" die per klick ermöglicht die IP zu ändern, jedoch ist das Problem das die IP eben gleich bleibt.

Der nette Befehl "%RANDOM%" gibt mir zwar eine Random zahl, nur die ist 5 Stellig_..

Nun meine Frage, geht es in der Bat, einen random zahlenwer von 1-254 bzw. 0-255 (die letzte Zahl in der IP sollte ja keine 0 oder 255 sein_._) zu erstellen?

Wenn das nicht geht, wie kann ich das anderst umsetzen, aber so, das ich da auch noch verstehen? ^^

Mit VB oder c++ geht das, das ist klar _.. aber wie sieht es mit der one-click funktion aus und einffachheit?

MfG
Dave

Overkiller
07.05.2008, 07:45

Generier doch einfach mehrere RANDOM Zahlen und zieh sie solange von einander ab bis sie 0 < und > 255 sind.

styxx
07.05.2008, 09:02

Ähnliche Themen: [Batch/Bash] Batch-Befehle durch Batch in Batch schreiben lassen Ich liebe den Titel :D Ich habe folgendes Problem: Ich möchte per Batch ein paar Befehle in eine andere Batchdatei schrieben lassen. Ich[...]
[Batch]Frage zu %RANDOM% Hey, also ich habe eine Bat "geschrieben" die per klick ermöglicht die IP zu ändern, jedoch ist das Problem das die IP eben gleich bleibt[...]
[Batch]Frage zu %RANDOM%
Naja, du willst zahlen von 0-255. (2^8 Zahlen)

%RANDOM% liefert sehr wahrscheinlich Zahlen von 0 - 65535. (2^16 Zahlen)

Von daher solltest du einfach die 65536 Möglichkeiten die %RANDOM% erstellt jedesmal durch 256 Teilen und anschliesend 1 abziehen um die 0 als Zahl zu haben.

Ich kann leider absolut kein Batch, von daher ist das hier jetzt nur Pseudocode :P


((%RANDOM% + 1) / 256) - 1)

Edit:

B0B's code funktioniert, hab dadurch jedoch einen Fehler bei meiner "Formel" gefunden.
Als Ergebnis hab ich Zahlen zwischen -1 und 125 erhalten (Zufallstests).

Um die -1 zu beheben =>


(%RANDOM% + 1) / 256)

Außerdem scheint %RANDOM% nur zahlen von 0 bis 32767 auszugeben =>


(%RANDOM% + 1) / 128)

Der Code lautet deshalb :


set /a zahl = (%RANDOM% + 1) / 128
echo %zahl%

Getestet! Funktioniert zu 99,9%. Sowohl die Zahl 0 als auch die Zahl 255 erhalten

B0B
07.05.2008, 11:54

set /a zahl = ((%random% + 1) / 256 ) - 1
echo %zahl%

ungetestet!

DavyDave
07.05.2008, 15:21

klasse, passt alles =)

hab das so gemacht:


_echo off
color a
set /a zahl1 = (%RANDOM% + 1) / 128
set /a zahl2 = (%RANDOM% + 1) / 128
set /a zahl3 = (%RANDOM% + 1) / 128
echo.
echo.
echo.
echo Ihre IP-Adresse wurde in folgende geaendert:
echo.
echo 10_%zahl1%_%zahl2%_%zahl3%
pause > NUL

Falls es dann jemand interessiert kann ich die ganze Batchdatei posten_.. (aber erst morgen, hab die nich hier_._) bzw. PN



raid-rush.ws | Imprint & Contact pr