Einen Teil einer Variable wegschnipseln
Hi,
wenn ich einen vollständigen Dateipfad mit dem Dateinamen als Variable habe, z.B.
R:\scan\mueller\frank\scandatei1.pdf
wie kann ich dann den hinteren Teil wegschneiden, so daß nur der Pfad
R:\scan\mueller\frank\
übrigbleibt? Klar könnte man nun die letzten 13 Zeichen einfach wegschneiden. Ich brauche aber eine ganz allgemeine Lösung für verschiedene Dateipfade.
Also praktisch die Anweisung
"Gehe von rechts bis zum ersten Backslash und nimm nur den Teil davor".
Vielleicht kann man das ja auch in der Form machen: "Zähle die Zeichen von ganz rechts bis zum ersten Backslash und nimm diese Zahl "n" dann zum Wegschneiden z.B.
set ziel=%ursprung:~0,-n%
oder so ähnlich.
Wäre super, wenn da jemand helfen könnte
Danke
wenn ich einen vollständigen Dateipfad mit dem Dateinamen als Variable habe, z.B.
R:\scan\mueller\frank\scandatei1.pdf
wie kann ich dann den hinteren Teil wegschneiden, so daß nur der Pfad
R:\scan\mueller\frank\
übrigbleibt? Klar könnte man nun die letzten 13 Zeichen einfach wegschneiden. Ich brauche aber eine ganz allgemeine Lösung für verschiedene Dateipfade.
Also praktisch die Anweisung
"Gehe von rechts bis zum ersten Backslash und nimm nur den Teil davor".
Vielleicht kann man das ja auch in der Form machen: "Zähle die Zeichen von ganz rechts bis zum ersten Backslash und nimm diese Zahl "n" dann zum Wegschneiden z.B.
set ziel=%ursprung:~0,-n%
oder so ähnlich.
Wäre super, wenn da jemand helfen könnte
Danke
Please also mark the comments that contributed to the solution of the article
Content-Key: 593152
Url: https://administrator.de/contentid/593152
Printed on: May 4, 2024 at 16:05 o'clock
10 Comments
Latest comment
for /f "delims=" %%a in ("c:\pfad\datei.txt") do set "pfad=%%~dpa"
echo %pfad%
Zitat von @snugg123:
Hi,
danke. Ich brauche das aber für eine Variable innerhalb des Scripts, die über den set-Befehl gesetzt wurde.
Hast Du dafür auch die Lösung?
Wo ist das Problem??Hi,
danke. Ich brauche das aber für eine Variable innerhalb des Scripts, die über den set-Befehl gesetzt wurde.
Hast Du dafür auch die Lösung?
Einfach die Variable dort einsetzen wo jetzt der Pfad im Klartext steht 🙂
for /f "delims=" %%a in ("%variable%") do set "pfad=%%~dpa"
echo %pfad%
Du hast ja Klammern und Anführungszeichen vergessen, bitte noch mal ganz genau
meinen letzen Post anschauen!!!!
Man oh maaaaan.
meinen letzen Post anschauen!!!!
Man oh maaaaan.
Erstens setzt du die Anführungszeichen in der Variablen für mein Beispiel oben falsch wodurch sie verdoppelt werden, zweitens Stichwort Escaping
https://www.robvanderwoude.com/escapechars.php
Drittens, heute nutzt man gleich die Powershell statt dem verstaubten Batch.
https://www.robvanderwoude.com/escapechars.php
Drittens, heute nutzt man gleich die Powershell statt dem verstaubten Batch.