gelöst Batch erkennt eine Zahlenfolge nicht als gültige Zahl (Evtl. Umformen von String auf Integer)

Mitglied: BatchCoder

BatchCoder (Level 1) - Jetzt verbinden

16.10.2020, aktualisiert 22:24 Uhr, 375 Aufrufe, 9 Kommentare

Liebes Batch-Team,

ich habe momentan ein Problem mit dem "set /a"-Befehl, bzw. generell mit dem Rechnen von Zahlen.
Ich habe einen String, der Buchstaben und Zahlen enthält mit ":~4" auf eine reine Zahlenfolge gekürzt.
Wenn ich jetzt versuche mit diesen Zahlen weiter zu rechnen, bekomme ich immer eine Fehlermeldung, dass
es keine gültige Zahl ist. Ich bin was das Thema Batch angeht noch ein ziemlicher Anfänger. Ich vermute aber
die Fehlermeldung kommt daher, dass Batch die Zahl als einen falschen Datentypen identifiziert.
Iich hab aber absolut keine Ahnung was ich verändern soll, damit es funktioniert und Batch den gekürzten String als gültige Zahl,
bzw. als Integer anerkennt.

Hier ein Beispiel:
Danach kommt statt dem erwünschten Ergebnis eine Fehlermeldung oder das Ergebnis ist 0.
Hat jemand eine Idee, wie man das lösen könnte?
Oder hab ich da einen kleinen Fehler im Skript gemacht? 😬

Vielen Dank im Voraus für eure Hilfe 😀
LG BatchCoder
Mitglied: mbehrens
16.10.2020 um 22:15 Uhr
Zitat von BatchCoder:

Wenn ich jetzt versuche mit diesen Zahlen weiter zu rechnen, bekomme ich immer eine Fehlermeldung, dass
es keine gültige Zahl ist.

Eine Zeichenkette ist auch keine Zahl.

Ich bin was das Thema Batch angeht noch ein ziemlicher Anfänger. Ich vermute aber
die Fehlermeldung kommt daher, dass Batch die Zahl als einen falschen Datentypen identifiziert.
Iich hab aber absolut keine Ahnung was ich verändern soll, damit es funktioniert und Batch den gekürzten String als gültige Zahl,
bzw. als Integer anerkennt.

Hier ein Beispiel:
Danach kommt statt dem erwünschten Ergebnis eine Fehlermeldung oder das Ergebnis ist 0.
Hat jemand eine Idee, wie man das Lösen könnte?

In dieser Sprache ist nicht möglich mit Hilfe einer Subtraktion von einer Zeichenkette etwas abzuziehen.
Bitte warten ..
Mitglied: rubberman
LÖSUNG 16.10.2020 um 22:16 Uhr
In Zeile 2 definierst du eine Variable zahl die du dann aber in Zeile 3 nicht nutzt. Warum?

Steffen
Bitte warten ..
Mitglied: TK1987
LÖSUNG 16.10.2020 um 22:16 Uhr
Moin,

Zitat von BatchCoder:
Ich bin was das Thema Batch angeht noch ein ziemlicher Anfänger.
mal ganz im Ernst, wieso dann überhaupt Batch? Batch ist seit über 10 Jahren tot. Das jetzt noch zu lernen, macht genauso viel Sinn wie sich heute den Untertagebau anzueignen. Lern lieber gleich Powershell.

Hier ein Beispiel:
Dann guck doch mal was du da tust. Du musst natürlich auch schon die Variable %zahl% beim rechnen benutzen... oder halt auch beim rechnen %string:~4%.

Gruß Thomas
Bitte warten ..
Mitglied: BatchCoder
16.10.2020 um 22:20 Uhr
Sorry, hab mich verschrieben.
Zeile 3 sollte eigentlich folgendermaßen aussehen:
Bitte warten ..
Mitglied: rubberman
LÖSUNG 16.10.2020 um 22:29 Uhr
Dann funktioniert dein Code. Das Ergebnis ist 75 wie erwartet.

Steffen
Bitte warten ..
Mitglied: BatchCoder
16.10.2020, aktualisiert um 22:35 Uhr
mal ganz im Ernst, wieso dann überhaupt Batch? Batch ist seit über 10 Jahren tot. Das jetzt noch zu lernen, macht genauso viel Sinn wie sich heute den Untertagebau anzueignen. Lern lieber gleich Powershell.

Ich möchte mit Batch keine sonderlich spannenden Programme schreiben, sondern einfach nur kleine Skripte erstellen, die zum Beispiel automatisch Dateien in chronologischer Reihenfolge in Ordnern sortieren oder mir einfach generell viel Arbeit ersparen. Und dafür ist es mir dann auch zu schade mich extra noch mit Powershell zu befassen.

Dann guck doch mal was du da tust. Du musst natürlich auch schon die Variable %zahl% beim rechnen benutzen... oder halt auch beim rechnen %string:~4%.

Habs schon geändert. Ich weis, ich hab ausversehen statt %zahl% in der 3. Zeile %string% benutzt.
Bitte warten ..
Mitglied: TK1987
16.10.2020 um 22:48 Uhr
Zitat von BatchCoder:
Ich möchte mit Batch keine sonderlich spannenden Programme schreiben, sondern einfach nur kleine Skripte erstellen, die zum Beispiel automatisch Dateien in chronologischer Reihenfolge in Ordnern sortieren oder mir einfach generell viel Arbeit ersparen. Und dafür ist es mir dann auch zu schade mich extra noch mit Powershell zu befassen.
Falscher Ansatz. Auch wenn es vielleicht auf dem ersten Blick nicht den Anschein macht, Powershell ist deutlich leichter zu lernen als Batch.
Bitte warten ..
Mitglied: rubberman
16.10.2020 um 22:52 Uhr
Hat er schon mehrfach gelesen (auch von mir).

Steffen
Bitte warten ..
Mitglied: mbehrens
16.10.2020 um 22:54 Uhr
Zitat von BatchCoder:

Ich möchte mit Batch keine sonderlich spannenden Programme schreiben, sondern einfach nur kleine Skripte erstellen, die zum Beispiel automatisch Dateien in chronologischer Reihenfolge in Ordnern sortieren oder mir einfach generell viel Arbeit ersparen. Und dafür ist es mir dann auch zu schade mich extra noch mit Powershell zu befassen.

Sehr schade, vertane Zeit.

Die CMD kennt noch nicht mal reguläre Ausdrücke
Bitte warten ..
Heiß diskutierte Inhalte
Ubuntu
HAProxy-Wi: Installation des Pakets geht nicht - ich hätte keine enabled Repos
itnirvanaFrageUbuntu37 Kommentare

Hallo, von der Seite möchte ich gerne HAProxy-Wi installieren ich führe das hier aus Dann kommt -> There ar ...

Multimedia
Fernseher im Empfang GEMA-pflichtig?
CaptainDuskyFrageMultimedia27 Kommentare

Guten Tag, wenn ich in einer Firma einen Fernseher im Empfang betreibe, dort aber nur Nachrichten laufen lasse, ist ...

LAN, WAN, Wireless
Wlan Messgerät
gelöst fizlibuzliFrageLAN, WAN, Wireless23 Kommentare

Hallo, gibt es erschwingliche Messgeräte um vorhanden W-Lan ausleuchtungen in ihrer Signalstärke und Bandbreite zu messen. Es sollen einfache ...

Microsoft
Failover Cluster Network
samreinFrageMicrosoft22 Kommentare

Hallo zusammen, toller Freitag heute vielleicht kann mir jemand unter die Arme greifen. Ich habe einen Failover Cluster gebaut. ...

Router & Routing
Kaufempfehlung WLAN Router mit VLAN Unterstützung
ccreccFrageRouter & Routing20 Kommentare

Hallo zusammen, ich wollte mal nach einer Kaufempfehlung für einen WLAN Access Point mit halbwegs vernünftiger VLAN Unterstützung fragen. ...

Windows Server
PowerShell Script für MailVersand mit Anhang
gelöst klausk94FrageWindows Server20 Kommentare

Hallo Zusammen, ich bin aktuell etwas am verzweifeln an einem PS Script für den Emailversand Das Script funktioniert, jedoch ...

Ähnliche Inhalte
Microsoft Office

Excel 2013 Zahl aus einem String auslesen

DerSkipperQuestionMicrosoft Office3 Comments

Hallo zusammen. für eine Reorg in der Firma ändern sich die Nummern aller OE-Einheiten in allen Hierarchien. Ebenso sollen ...

Batch & Shell

Batch String kürzen

solved BarthinatorQuestionBatch & Shell2 Comments

Moin zusammen, ich stehe vor einem Problem bei dem ich leider nicht weiterkomme. Ich habe eine Textdatei in der ...

Batch & Shell

Batch String Buchstaben tauschen

solved BarthinatorQuestionBatch & Shell2 Comments

Moin zusammen, ich stehe leider gerade wieder vor einem Problem mit meinem Skript: in meinem letzten Beitrag ging es ...

Batch & Shell

Batch um String innerhalb Dateiname zu ändern

solved lordofremixesQuestionBatch & Shell3 Comments

Hallo zusammen, Ich suche eine Batch / Powershell, die folgendes macht: Ausgangslage: Ordner mit ca 100 Dateien in z.B. ...

Java

Von Delphi String zu Java String

GreenDinoQuestionJava1 Comment

Hallo zusammen! Ich bin dabei Delphicode in Javacode zu übertragen. Frage: ist '<text>' in Delphi equivalent zu "<text>" in ...

Databases

MSSQL Text in Zahl umwandeln

solved EricAG3QuestionDatabases1 Comment

Hallo zusammen, folgende Tabelle sei gegeben. Menge 5,5 2,5 - 2,5 Das Feld Menge ist vom varchar. Ich möchte ...