[Batch]Frage zu %RANDOM%

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von DavyDave, 7. Mai 2008 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 7. Mai 2008
    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
     
  2. 7. Mai 2008
    AW: [Batch]Frage zu %RANDOM%

    Generier doch einfach mehrere RANDOM Zahlen und zieh sie solange von einander ab bis sie 0 < und > 255 sind.
     
  3. 7. Mai 2008
    AW: [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

    Code:
    ((%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 =>

    Code:
    (%RANDOM% + 1) / 256)
    Außerdem scheint %RANDOM% nur zahlen von 0 bis 32767 auszugeben =>

    Code:
    (%RANDOM% + 1) / 128)
    Der Code lautet deshalb :

    Code:
    set /a zahl = (%RANDOM% + 1) / 128
    echo %zahl%
    Getestet! Funktioniert zu 99,9%. Sowohl die Zahl 0 als auch die Zahl 255 erhalten
     
  4. 7. Mai 2008
    AW: [Batch]Frage zu %RANDOM%

    Code:
    set /a zahl = ((%random% + 1) / 256 ) - 1
    echo %zahl%
    ungetestet!
     
  5. 7. Mai 2008
    AW: [Batch]Frage zu %RANDOM%

    klasse, passt alles =)

    hab das so gemacht:

    Code:
    @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
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.