[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. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  1. #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. Anzeige
  3. #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.
     
  4. #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 :p

    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
     
  5. #4 7. Mai 2008
    AW: [Batch]Frage zu %RANDOM%

    Code:
    set /a zahl = ((%random% + 1) / 256 ) - 1
    echo %zahl%
    ungetestet!
     
  6. #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
     

  7. Videos zum Thema
Die Seite wird geladen...