Als was list Batch die 10? (Und gegebenenfalls alle zaheln mit nullen)

Guten Morgen
Habe da ein kleines Problem mit Zahlen auswerten.

Habe mir einen kleinen Script geschrieben, der eine Zufallszahl zwischen 1 und 10 generiert (soll später Variable sein, zwischen welchen werten)
Zahlen von 1-9 funktionieren.
Nur die 10 Tanzt aus der reihe.
Sagen wir, als gesuchte zahl ist 1.
Gebe ich 2 ein kommt die Ausgabe die gesuchte zahl ist kleiner.
Was ja stimmt.
Gebe ich 10 ein, gesuchte Zahl ist größer
Umgekehrt genauso.
gesuchte zahl ist 10
gebe ich 2-9 ein gesuchte Zahl ist kleiner.
Bei 1 gesuchte zahl ist größer

Als was wird die 10 interpretiert?

Hier der Code:


Schonmal vielen Dank im Voraus
Mfg
Power-Poler

Content-Key: 159240

Url: https://administrator.de/contentid/159240

Ausgedruckt am: 16.10.2021 um 19:10 Uhr

Mitglied: 76109
76109 23.01.2011 um 12:29:15 Uhr
Goto Top
Hallo Power-Poler!

Versuchs mal mit:
Option /a steht für numerischen Ausdruck

Gruß Dieter
Mitglied: Power-Poler
Power-Poler 23.01.2011 um 13:06:29 Uhr
Goto Top
Hat leider nichts gebracht.
Danke f´ür deine Antwort
Mitglied: bastla
bastla 23.01.2011 um 13:47:45 Uhr
Goto Top
Hallo Power-Poler!

Du solltest Dich nicht beschweren, vom CMD-Interpreter ernstgenommen zu werden ;-) face-wink: Wenn Du einen alphanumerischen Vergleich (Zeilen 23 bis 25) verlangst, wird der natürlich auch durchgeführt - daher einfach die Anführungszeichen entfernen ...
Noch zwei Anmerkungen zu den Berechnungen:
Ich bevorzuge beim Zählen die abgekürzte Schreibweise (funktioniert nämlich auch innerhalb einer Schleife ohne "delayedExpansion")
und eine Zufallszahl im Bereich 1 bis 10 lässt sich (im Batch, ansonsten nur ein einzelnes Prozentzeichen für die Modulo-Operation) einfacher mit
erzeugen ...

Grüße
bastla

P.S.: Du scheinst von den Anwendern Deines Batches keine sonderlich hohe Meinung zu haben ;-) face-wink:
echo Ratte eine Zahl zwischen 1 und 10
(Und eigentlich fehlen da auch die Satzzeichen "," und "!")
Mitglied: Power-Poler
Power-Poler 23.01.2011 um 13:59:50 Uhr
Goto Top
Ok, danke das war es wohl.
Wo besteht für den Interpreten den der unterschied zwischen 10 und "10" ??
Das andere, echo Ratte eine Zahl zwischen 1 und 10; bin noch nicht fertig, und warum ein !?
Mitglied: bastla
bastla 23.01.2011 um 14:04:14 Uhr
Goto Top
@Power-Poler
Wo besteht für den Interpreten den der unterschied zwischen 10 und "10" ??
Na ja, Zahl vs Text?
"10" ist nunmal kleiner als "2", da ja bei einem Textvergleich zeichenweise vorgegangen wird ...
Das andere, echo Ratte eine Zahl zwischen 1 und 10; bin noch nicht fertig, und warum ein !?
Meintest Du denn nicht:
Ratte, eine Zahl zwischen 1 und 10!
0:-) face-smile

Grüße
bastla
Mitglied: Biber
Biber 23.01.2011 um 18:59:11 Uhr
Goto Top
[OT]
Zitat von @bastla:
Ratte, eine Zahl zwischen 1 und 10!
0:-) face-smile
Bei Userinnen schreibt er ja vielleicht
Mäuschen, eine Zahl zwischen 1 und 10!
[/OT]
Mitglied: Power-Poler
Power-Poler 23.01.2011 um 19:11:57 Uhr
Goto Top
hmpf
Werde das natürlich noch ändern

*Irgendwie fehlt mir hier der SchmolSmiley*
Mitglied: pieh-ejdsch
pieh-ejdsch 24.01.2011 um 00:44:54 Uhr
Goto Top
moin Power-Poler,

direkt nach der Zeile 12:

kannst Du noch diverse eine bessere Prüfung Einbauen

somit kannst Du auch Gefahrlos die (Überflüssigen) doppelten Hochkommata in den VergleichsZeilen weglassen

Zeile 18 und 32
set /a Falsch=%Falsch%+1
kannst Du aus so schreiben

Gruß Phil
Mitglied: Power-Poler
Power-Poler 24.01.2011 um 18:50:47 Uhr
Goto Top
OK Danke, wusste nicht das ich Variablen auch so Hoch Zählen lassen kann.

Was überprüft den Zeile 1-3 ?
Was meinst du mit "doppelten Hochkommata" ?
Auf Welche Zeile beziehst du dich hier
Mitglied: pieh-ejdsch
pieh-ejdsch 24.01.2011 um 20:19:42 Uhr
Goto Top
moin Power-Poler,

es wird alles andere Eingegebene ausser Ziffern selbst als Variable aufgelöst. wenn die Variable nicht definiert ist wird sie auch nicht gesetzt. Also der Wert 0 wird eingetragen.
wenn Du "a b" eingibst würde(n) ein/mehr Operand(en) zum Berechnen fehlen. Daher das ganze in einer Klammer und der Abschluss mit 2>nul || set "Eingabe=0", damit der Fehler erkannt wird und die Variable auf 0 gesetzt wird.
wenn Du zufall eingibst wird die Variable zufall als Zahl gesetzt.

die VergleichsZeilen (das was bastla schon erwähnt hat)
wird immer ein Vergleich auf der Basis von Zeichenfolgen vonstatten gehen:
das entsprich genau der Sortierung nach dem Alphabet, so wie die Reihenfolge der Wörter im Duden oder bei der Ausgabe vom Befehl DIR (ohne sortierung) ist.
Zahlen werden so hier Sortiert wie das Beispiel für die CMD Line:
da siehst Du auch gleich, dass ein Zeichenvergleich ganz anders die ZahlenReihenfolge hat.

schreib daher Reine Zahlenvergeleiche mit Variablen ohne Umschlossene Doppelte Hochkommata

Gruß Phil
Mitglied: Biber
Biber 24.01.2011 um 20:54:16 Uhr
Goto Top
Moin pieh-ejsdch,

meinst du nicht, du hättest wenigstens einen Teil der kurzen Fragen ähnlich kurz&knackig abfackeln können?
Zitat von @Power-Poler:
Was meinst du mit "doppelten Hochkommata" ?
Anführungszeichen.

So zum Beispiel... *gg

Grüße
Biber
Heiß diskutierte Beiträge
question
Achtung VMware, Inc. - SCSIAdapter - 1.3.18.0 virtuelle Server starten nicht mehrBl0ckS1z3Vor 1 TagFrageWindows Server5 Kommentare

Hallo Admins, ich habe heute über das VMware, Inc. - SCSIAdapter - 1.3.18.0 Treiberupdate aus den Windows Updates auf einem virtuellen Server Windows 2012 R2 ...

question
WIN 10 pro for workstations - Was genau ist das?toddehbVor 1 TagFrageWindows 1017 Kommentare

Hi, bin das erste mal über einen PC mit Win 10 Pro for workstations gestolpert und frage mich, was an dieser Edition anders ist, als ...

report
Ist FSLogix das Gelbe vom Ei?dertowaVor 1 TagErfahrungsberichtWindows Userverwaltung8 Kommentare

Hallo allerseits, ich habe mich die letzten Tage eingehend mit FSLogix in meinem Lab befasst und bin noch ein wenig zweigeteilter Meinung. Aktuell produktiv im ...

question
Hotel - Gast WLAN - Hotspot Aufbau und Sicherheit-Haftungaif-getVor 1 TagFrageLAN, WAN, Wireless12 Kommentare

Hallo zusammen, ich würde gerne bei einem Bekannten, der ein kleines Hotel (30 Zimmer - 3 Unify APs) besitzt ein Gäste WLAN aufsetzen, möglichst mit ...

question
VOIP BasisstationWolf6660Vor 1 TagFragePeripheriegeräte18 Kommentare

Hi, ich will meine FritzBox gegen einen MikroTik RB4011iGS+5HacQ2HnD-IN austauschen. Nun benötige ich aber einen VOIP Basisstation. Natürlich könnte ich meine 7590 dazu benutzten aber ...

question
Portbasierten vLans als Ersatz von unabhängigen Switches gelöst cheechybaVor 1 TagFrageNetzwerkmanagement10 Kommentare

Guten Tag liebe Community, im Anhang habe ich eine einfach Skizze angefügt um folgende Idee zu diskutieren und um Hilfe bei der Umsetzung zu bitten. ...

question
CAD Mobil in rauer Umgebunggansa28Vor 1 TagFrageHardware4 Kommentare

Hallo zusammen, Zu meinem Problem: Mein Schwieger Vater bekommt in seinem Metall Produzierenden Gewerbe zwei neue CAD Arbeitsplätze die eine recht hohe Hardware Anforderung haben, ...

general
Automatische Dokumentation von Vorgängen mit Kamerapassy951Vor 1 TagAllgemeinSonstige Systeme6 Kommentare

Hallo zusammen, ich wende mich mal an euch, da ich nicht weiß wie ich das lösen soll bzw. ob es sowas überhaupt zu kaufen gibt. ...