raidman
Goto Top

Set Anweisung mit einer Variable bearbeiten

Guten Abend zusammen,

tschuldigung für die späte sonntägliche Frage ;)

ich möchte von einem String den Anfang kürzen und zwar um einen Wert der in einer Variablen steht (die ermittelte Länge eines anderen String)
leider funktioniert das nicht wie gewünscht,

set "lang=25"  
set meinstring=%meinstring:~%lang%%
oder
set meinstring=%meinstring:~!lang!%

beides tut nicht, was mach ich da falsch?

Content-ID: 231468

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

Ausgedruckt am: 16.11.2024 um 11:11 Uhr

bastla
bastla 02.03.2014 aktualisiert um 18:46:48 Uhr
Goto Top
Hallo RaidMan!

Entweder ohne "delayedExpansion"
call set "meinstring=%%meinstring:~%lang%%%"
oder
set "meinstring=!meinstring:~%lang%!"
Grüße
bastla
RaidMan
RaidMan 02.03.2014 um 19:33:19 Uhr
Goto Top
Hallo bastla,

Danke

die Call Variante tut wie gewünscht, und liefert den gekürzten String

das direkte set... liefert nur die Auflösung " !meinstring:~41! "
aber ich komme auf jeden Fall wieder weiter

schönen Rest-Sonntag

raidman
colinardo
colinardo 02.03.2014 aktualisiert um 20:46:55 Uhr
Goto Top
Zitat von @RaidMan:
das direkte set... liefert nur die Auflösung " !meinstring:~41! "
Hallo raidman,
diese Variante benötigt ein
setlocal enabledelayedexpansion
in deinem Code, bevor du die verzögerten Variablenerweiterung mit den Ausrufezeichen nutzen kannst.

Grüße Uwe