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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 593152
Url: https://administrator.de/contentid/593152
Ausgedruckt am: 13.11.2024 um 09:11 Uhr
10 Kommentare
Neuester Kommentar
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.