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-Key: 231468

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

Printed on: April 19, 2024 at 06:04 o'clock

Member: bastla
bastla Mar 02, 2014 updated at 17:46:48 (UTC)
Goto Top
Hallo RaidMan!

Entweder ohne "delayedExpansion"
call set "meinstring=%%meinstring:~%lang%%%"
oder
set "meinstring=!meinstring:~%lang%!"
Grüße
bastla
Member: RaidMan
RaidMan Mar 02, 2014 at 18:33:19 (UTC)
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
Member: colinardo
colinardo Mar 02, 2014 updated at 19:46:55 (UTC)
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