zbeeblebrox
Goto Top

Zeichen in Dateiname löschen per Batch

Hallo liebe Leute,

ich möchte per Batch-Durchlauf Dateinamen nach dem Muster `crp[RestName].pdf' in `[RestName].pdf' umwandeln und dabei verschieben.
Mir hat dieser thread #241018 Batch - Dateien umbenennen Verschieben und Dateien von mit bestimmten Zeichen im Dateinamen von der Umbenennung ausschliessen bereits geholfen, und mit
@echo off & setlocal EnableDelayedExpansion
::
set src_dir=C:Quelle
set dest_dir=C:iel
::
for %%a in (crp*.pdf) do (
move "%src_dir%\%%a" "%dest_dir%"  
Set "DateiName=%%~a"  
ren "%dest_dir%\%%a" "!Dateiname:~3,6!.pdf"  
)
geschieht bereits der grösste Teil dessen, was ich möchte. Nur: die Datei soll nicht nach dem sechsten Buchstaben abgeschnitten werden, sondern der Rest des Namens (der von Datei zu Datei verschieden und unterschiedlich lang ist) beibehalten werden. Ich habe irgendwoanders gelesen, daß das mit `l' oder `-l' gehen müsste, und habe also in der vorletzten Zeile `6!' hierdurch (und anderes...) ersetzt, aber erfolglos.

Kann mir einer von Euch alten Hasen weiterhelfen? Das wäre ein Riesenhilfe!

Danke im Voraus,

Peter

Content-Key: 61448

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

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

Member: miniversum
miniversum Jun 15, 2007 at 10:43:47 (UTC)
Goto Top
Schau mal in der Hilfe zu SET nach, also set /?.
Im kurzen:
beim "!Dateiname:~3,6!.pdf" steht die 3 ja fürs Zeichen abdem der Dateiname benutzt wird, die 6 für das Zeichen bis zu dem der Dateiname benutzt wird.
gibst du das zweite zeichen als negativ an wird von hinten her gerechnet. also -1 wäre dann bis zum vorletzten Zeichen des Namens.
Gibst du nichts an wird bei der ersten Zahl vom Anfangsbuchstaben, bei der Zweiten Zahl vom letzten Buchstaben ausgegangen.

d.h. bei dir müstest du also einfach die zweite Zahl weglassen:
"!Dateiname:~3!.pdf"

miniversum
Member: ZBeeblebrox
ZBeeblebrox Jun 15, 2007 at 12:57:03 (UTC)
Goto Top
hey miniversum,

EIN TRAUM wie schnell und kompetent man hier hilfe erhält, super, vielen Dank!

Irgendwie war da noch die extension zu viel dran, aber

"!Dateiname:~3!"

war dann genau richtig.

Spitze, nochmals vielen Dank!

Peter