Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Windows 7 Hilfe, Tipps, Fragen und Probleme zu Windows 7

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

Diskussion: In Batch-Programm (CMD) zwischen Hausnummer und PLZ unterscheiden im Forum Windows 7, in der Kategorie Windows; Anzeige Hallo, wie kann ich in einem Batch-Programm (Windows 7) zwischen Hausnummer und Postleitzahl unterscheiden? Hätte zwei Abfragen probiert: if ...

Antwort
Alt 26.01.12, 11:01   #1 (permalink)
 
Registriert seit: 26.01.12
susi9999 Leistung: Facit NTK
Likes: 0
Question In Batch-Programm (CMD) zwischen Hausnummer und PLZ unterscheiden

Anzeige

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!

susi9999 ist offline   Mit Zitat antworten
Alt 26.01.12, 12:58   #2 (permalink)
Moderator
 
Benutzerbild von lightsaver
 
Registriert seit: 19.06.06
lightsaver Leistung: Pentium Ilightsaver Leistung: Pentium Ilightsaver Leistung: Pentium I
Likes: 52
Standard

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.
lightsaver ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 26.01.12, 15:03   #3 (permalink)
Themenstarter
 
Registriert seit: 26.01.12
susi9999 Leistung: Facit NTK
Likes: 0
Standard 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 ...
susi9999 ist offline   Mit Zitat antworten
Alt 26.01.12, 15:49   #4 (permalink)
Senior Member
 
Benutzerbild von lookshe
 
Registriert seit: 10.03.07
lookshe Leistung: 8086
Likes: 19
Standard

Wenn es dir reicht, wenn du bei solchen Nummern einfach nur die Zahlen betrachtest, also bei 20a nur 20 und bei 5/7 nur 5, dann dürfte dir die erste Antwort von parsing - How to extract number from string in BATCH - Stack Overflow weiterhelfen.
lookshe ist offline   Mit Zitat antworten
Alt 26.01.12, 17:12   #5 (permalink)
Senior Member
 
Benutzerbild von odigo
 
Registriert seit: 25.12.04
odigo Leistung: 8086odigo Leistung: 8086
odigo eine Nachricht über ICQ schicken
Likes: 54
Standard

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

Geändert von odigo (26.01.12 um 17:15 Uhr)
odigo ist offline   Mit Zitat antworten
Alt 27.01.12, 10:13   #6 (permalink)
Themenstarter
 
Registriert seit: 26.01.12
susi9999 Leistung: Facit NTK
Likes: 0
Standard 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
susi9999 ist offline   Mit Zitat antworten
Antwort

Stichworte
cmd, if-abfrage, vergleichen, zahlen
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Operating Systems » Windows » Windows 7 » In Batch-Programm (CMD) zwischen Hausnummer und PLZ unterscheiden
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
6 Fragen zu einem Batch-Programm H4life Code Kitchen 5 13.02.07 13:07
Batch-Programm homer1988 Doppelte Beiträge 1 11.02.07 20:13
Kleines Problem mit Batch Programm H4life Code Kitchen 9 11.02.07 14:01
Programm per batch minimieren und schliessen !? Lunandro Code Kitchen 4 24.06.05 16:05
Unterscheiden zwischen elko und kondensator Guyfawkes Hardware Probleme 21 27.11.04 15:47


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61