Batch, verschachtelte Variable
Hallo Admins,
leider bekomm ich es mal wieder ned auf die Reihe.
Ich versuche einen Text in einer Variablen zu kürzen, anhand einer vorher automatisch ermittelten Anzahl von Zeichen.
Dafür muss ich 2 Variablen verschachteln und habe mich schon dusselig gegoogelt und rumprobiert, aber es funzt einfach ned...
Hier mein Code, der nicht funktioniert:
Ich bin mir sicher, dass die Lösung super einfach ist, aber...
Wenn ich das letzte %Length% durch die richtige Zahl ersetze funktioniert es wunderbar
Varianten mit [... _...] etc. habe ich versucht aber komme nicht weiter.
Jemand eine Idee ? Danke schonmal !!!
Jochen
leider bekomm ich es mal wieder ned auf die Reihe.
Ich versuche einen Text in einer Variablen zu kürzen, anhand einer vorher automatisch ermittelten Anzahl von Zeichen.
Dafür muss ich 2 Variablen verschachteln und habe mich schon dusselig gegoogelt und rumprobiert, aber es funzt einfach ned...
Hier mein Code, der nicht funktioniert:
rem ##Teil 1, funktiniert soweit gut... ##
echo off
set str=Verkäufer: Firma Mustermann, John Nr.: 86
set #=%str%
set length=0
:loop
if defined # (set #=%#:~1%&set /A length += 1&goto loop)
echo %length%
echo on
rem ##Teil 2, funktiniert auch... ##
set /A lenght = %length%-(8+11)
echo %lenght%
pause
rem ##Teil3, funktioniert...##
set str=%str:~11%
echo %str%
pause
rem ## Und hier komm ich ned weiter, vorher ergibt das echo von %str% ein "Firma Mustermann, John Nr.: 86", wie gewünscht.
set str=%str:~0,%length%%
echo Dateiname:%str%
rem ## Da kommt jetzt nur noch Müll raus !
Ich bin mir sicher, dass die Lösung super einfach ist, aber...
Wenn ich das letzte %Length% durch die richtige Zahl ersetze funktioniert es wunderbar
Varianten mit [... _...] etc. habe ich versucht aber komme nicht weiter.
Jemand eine Idee ? Danke schonmal !!!
Jochen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 142234
Url: https://administrator.de/forum/batch-verschachtelte-variable-142234.html
Ausgedruckt am: 22.12.2024 um 10:12 Uhr
7 Kommentare
Neuester Kommentar
Servus,
jetzt nimst du mal deinen Code und postest den innerhalb der dafür vorgesehenen Codeblöcke und dann kann man das auch lesen.
btw: meine Vorliebe für "problembatche, die mit einem führenden echo off anfangen, sollte sich sogar schon in Lampukistan herumgesprochen haben.
Gruß
Ps: Wer es schafft eine Variable set str=%str:~0,%length%% mit einer anderen gleichbenamsten Variable neu zu setzen bekommt eine runde Bier nach Wahl spendiert.....
jetzt nimst du mal deinen Code und postest den innerhalb der dafür vorgesehenen Codeblöcke und dann kann man das auch lesen.
btw: meine Vorliebe für "problembatche, die mit einem führenden echo off anfangen, sollte sich sogar schon in Lampukistan herumgesprochen haben.
Gruß
Ps: Wer es schafft eine Variable set str=%str:~0,%length%% mit einer anderen gleichbenamsten Variable neu zu setzen bekommt eine runde Bier nach Wahl spendiert.....
Moin jknapp, T-Mo & bastla,
und wenn die DelayedExpansion immer aktiviert ist, geht der proof-of-concept auch als Oneliner am CMD-Prompt.
Bier muss auch nicht unbedingt sein, aber wenn, dann bitte ein Becks.
Grüße
Biber
und wenn die DelayedExpansion immer aktiviert ist, geht der proof-of-concept auch als Oneliner am CMD-Prompt.
(=20:50:55 D:\temp=)
>set "BiberStr=MfG Biber" & set "len=4" & Set "BiberStr=!BiberStr:~%len%!" & set BiberStr
BiberStr=Biber
Bier muss auch nicht unbedingt sein, aber wenn, dann bitte ein Becks.
Grüße
Biber
Hallo Jochen,
es geht doch, wenn man so schwierige Englische Worte wie length nicht mit lenght verwechselt und etwas deutsch Klingendes verwendet
Gruß
LotPings
es geht doch, wenn man so schwierige Englische Worte wie length nicht mit lenght verwechselt und etwas deutsch Klingendes verwendet
Gruß
LotPings