blubbblubb
Goto Top

Problem mit Batch innerhalb FOR Substring bei EnableDelayedExpansion

ich möchte innerhalb einer FOR-Schleife einen substring auf eine Variable ausführen bei dem der Startpunkt für das Schneiden über eine zweite Variable vorgegeben wird.

Codeauszug:

set laenge_pfad_von=41

for %%k in (dir /b %pfad_von%%dateiname20%*.pdf ) do (....
SETLOCAL EnableDelayedExpansion

set /a startpunkt=!laenge_pfad_von!+25

ENDE Codeauszug face-smile

Beispiel was ich machen möchte:

set flotest=!mani2:~%startpunkt%!

echo !flotest!


ABER: klappt leider nicht, d.h. es wird der ungekürzte Inhalt aus mani2 zurückgegeben


so klappts -- allerings nur mit Fixvorgabe statt %startpunkt%

set flotest=!mani2:~66!


hier enthält flotest die zeichen ab Stelle 66


ich hoffe ich konnte das irgendwie verständlich schildern...

bin mal gespannt auf die Lösung....

schon mal vielen dank für eure Hilfe

Content-Key: 139088

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

Printed on: April 25, 2024 at 00:04 o'clock

Mitglied: 60730
60730 Mar 24, 2010 at 16:31:28 (UTC)
Goto Top
Auch dir eine nette Begrüßung deiner Wahl auf den Tresen gelegt face-wink

ich hoffe ich konnte das irgendwie verständlich schildern...
bin mal gespannt auf die Lösung....

Ich bin gespannt, ob du dir nochmal 5-6 minuten Zeit nimmst - um das etwas genauer zu umschreiben.

Irgendwas von wegen Dateinamen kürzen les ich da raus und das es zum Bahnhof in richtung süden geht.

Gruß
Member: Biber
Biber Mar 24, 2010 at 17:01:53 (UTC)
Goto Top
Moin blubbblubb,

willkommen im Forum.

so richtig erahnbar ist die Mimik in deinem Schnipsel nicht wirklich.
Wenn dieser Code wirklich so nobelpreisverdächtig ist, dass du ihn hier nicht komplett posten kannst (idealerweise in Codetags), dann könntest du wenigstens die eigentliche FOR...DO KlammerAuf-bis-KlammerZu-Anweisung unzensiert posten, sofern es mit den Richtlinien des Jugendschutzes vereinbar ist.

Wenn (im Sinne von falls) wirklich vor der FOR-Anweisung ein Wert "41" einmalig/konstant gesetzt wird und in der FOR-Anweisung ebenso konstant ein Wert von "25" .... okay, was spicht dann dagegen, tatsächlich gleich den Wert "66" fest zu verdrahten??

Andernwenns ... wenn dieser Wert 25 in der FOR-Anweisung nicht fix, sondern variabel ist (ist leider nicht erkennbar), dann kannst du tatsächlich nicht innerhalb einer Anweisung den "verzögert aufgelösten" Wert als Längenangabe verwenden.
Aber du kannst ja ZUERST den Substring ab Stelle 41 in flotest speichern
und DANN (neue Zeile) davon den Substring ab Stelle 25.

Grüße
Biber
Member: mrtux
mrtux Mar 24, 2010 at 17:43:29 (UTC)
Goto Top
Abendma(h)l !

Grübel, Kopfkratz.....blubbblubb....GlugGluggGlugg...Prosit! Also über das Thema "verständlich schildern" solltest Du nochmal nachdenken. face-wink

mrtux