Hallo, ich möchte gerne einen String um X Zeichen schneiden. Ich habe es mal so versucht. set /a New_StrLength=%StrLength%-25 // New_StrLength=47 echo.%String:~0,%New_StrLength% <-- funktioniert so nicht echo.%String:~0,%New_StrLength%% <-- auch so nicht echo.%String:~0,47% <-- bringt zwar das gewünschte Ergebnis, soll aber variabel sein Wie macht man es richtig? Vielen Dank im Voraus. Gruß Christian
Probier mal:
1 | call echo.%%String:~0,%New_StrLength%%% |
So geht es, frag bitte nicht warum:
1 | call echo.%String:~0,^%New_StrLength%% |
Beispiel:
1 | > set String=abcdefg |
2 | > set New_StrLength=4 |
3 | > call echo.%String:~0,^%New_StrLength%% |
4 | abcd |
Statt direkt mit echo kann man auch mit set eine weitere Variable zuweisen:
1 | call set NewString=%String:~0,^%New_StrLength%% |
So geht es. Vielen Dank. @echo off set String=C:\Users\xxxxxx\Desktop\System set StrLength=30 set /a New_StrLength=%StrLength%-7 call set New_String=%%String:~0,%New_StrLength%%% echo.%New_String%
Hallo zusammen, da ich auch auf der Suche war und eigentlich eine Übersicht gebraucht hätte, ich bin hier trotzdem über Google gelandet. Ich habe zum Schluss selbst getestet mit welchen Angaben ich den String einer Variablen wie beschneiden kann und möchte das Ergebnis gerne mit der Welt teilen: Syntax:
1 | var=%var:~n,m% |
n ist die Angabe der Stelle. m ist die Anzahl der Zeichen. n wird ab 0 gezählt.
1 | n ab Stelle von links |
2 | -n ab Stelle von rechts |
3 | m Anzahl Zeichen mit, von links |
4 | -m Anzahl Zeichen ohne, von rechts |
Beispiele:
1 | var = 1234567890 Alle Zeichen ab Stelle 3 |
2 | Befehl = var=%var:~3% |
3 | Ergebnis = 4567890 |
4 | |
5 | var = 1234567890 Alle Zeichen ab Stelle 3 (von rechts) |
6 | Befehl = var=%var:~-3% |
7 | Ergebnis = 890 |
8 | |
9 | var = 1234567890 3 Zeichen ab Stelle 0 |
10 | Befehl = var=%var:~0,3% |
11 | Ergebnis = 123 |
12 | |
13 | var = 1234567890 0 Zeichen ab Stelle 3 |
14 | Befehl = var=%var:~3,0% |
15 | Ergebnis = |
16 | |
17 | var = 1234567890 Ohne 3 Zeichen (von rechts) ab Stelle 0 |
18 | Befehl = var=%var:~0,-3% |
19 | Ergebnis = 1234567 |
20 | |
21 | var = 1234567890 0 Zeichen ab Stelle 3 (von rechts) |
22 | Befehl = var=%var:~-3,0% |
23 | Ergebnis = |
24 | |
25 | var = 1234567890 2 Zeichen ab Stelle 3 |
26 | Befehl = var=%var:~3,2% |
27 | Ergebnis = 45 |
28 | |
29 | var = 1234567890 Ohne 2 Zeichen (von rechts) ab Stelle 3 |
30 | Befehl = var=%var:~3,-2% |
31 | Ergebnis = 45678 |
32 | |
33 | var = 1234567890 2 Zeichen ab Stelle 3 (von rechts) |
34 | Befehl = var=%var:~-3,2% |
35 | Ergebnis = 89 |
36 | |
37 | var = 1234567890 Ohne 2 Zeichen (von rechts) ab Stelle 3 (von rechts) |
38 | Befehl = var=%var:~-3,-2% |
39 | Ergebnis = 8 |
Grüße! Gebruenn
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.