In Batch-Programm (CMD) zwischen Hausnummer und PLZ unterscheiden

Hallo, wie kann ich in einem Batch-Programm (Windows 7) zwischen Hausnummer und Postleitzahl unterscheiden?
Hätte zwei Abfragen probiert:
if /I Variable GTR 1000 echo ja bzw.
if /I Variable LSS 9999 echo ja
Für eine Hausnummer wie 20 oder 70 geht die Abfrage auf, aber im CMD ist seltsamerweise 20a größer 1000 oder auch 4/9 ist größer 1000.
Wie kann ich unterscheiden, ob eine Hausnummer in der Form
20
70
25a
5/7 (für Haus, Stock)
vorliegt oder eine Postleitzahl, die zwischen 1000 und 9999 liegt?
Danke!
 
Also spontan würde ich behaupten, dass du einen Stringvergleich machst und damit wäre ein String, der mit 2 beginnt natürlich größer als einer, der mit 1 beginnt. Verifiziere das doch mal, mit 20a und 3000. Da sollte 20a kleiner sein, wenn ich Recht habe.

Was ich vermutlich probieren würde ist, den String zu splitten, also nur den Anfang bis zum ersten Buchstaben bzw. Sonderzeichen zu nehmen. ggf. wird es danach bereits als Zahl erkannt und du kannst mit < > arbeiten, ansonsten könntest du dann auch über die Länge testen, ob die Zahl zwischen 1000 und 9999 liegt, da dies auf jede 4-stellige Zahl zutrifft, die keine führenden Nullen hat.

Auch wenn ich dir nicht sagen kann, wie du das genau in Batch umsetzen kannst, sollte es aber ziemlich sicher möglich sein.
 
Gute Idee, aber wie?

Hallo Lightsaver,
genau diese Ideen hatte ich auch, nur eben - wie im Batch umsetzen?

Ich bräuchte einen Befehl oder Trick zum Feststellen der Länge eines Zeichenstrings oder zum Prüfen, ob ein einzelnes Zeichen (wie aus dem String extrahieren??) zwischen 0 und 9 liegt?

Bin ein ziemlicher Fuchs, was Batch anbelangt, aber manchmal stehe ich auch an ...
 
Code:
echo string | findstr regex

Mit findstr kann wohl Zeichenketten mittels regulärer Ausdrücke prüfen. Nur mal so als Idee. Leider ist meine freie Zeit und mein Wissen über Batch-Dateien gerade etwas eingeschränkt um detailierter zu antworten :P
 
Zuletzt bearbeitet:
Gelöst!

Hab in einem anderen Forum dazu einen Tipp bekommen:

set /a Variable=%String%+0 1>nul 2>nul

-> so geht's! Damit funktioniert die Abfrage GTR und LSS
 
Zurück
Oben