Dateiname kürzen
Hallo,
ich habe eine Menge Textdateien mit sehr langen Dateinamen. Ich möchte einen Batch schreiben, der mir die letzten 18 Zeichen aus dem Dateinamen rauslöscht. Mein bisheriger Versuch sieht folgendermaßen aus:
for %%i in ("%CD%\*.txt") do (
set "Name=%%i"
set "newname=%Name:~0,-18%"
rename "%Name%" "%newname%"
)
leider funktioniert das nicht und ich weiß nicht wieso. Ich wäre dankbar, wenn mir jemand helfen könnte, meine Batcherfahrung ist nämlich sehr begrenzt.
Grüße,
drifting
ich habe eine Menge Textdateien mit sehr langen Dateinamen. Ich möchte einen Batch schreiben, der mir die letzten 18 Zeichen aus dem Dateinamen rauslöscht. Mein bisheriger Versuch sieht folgendermaßen aus:
for %%i in ("%CD%\*.txt") do (
set "Name=%%i"
set "newname=%Name:~0,-18%"
rename "%Name%" "%newname%"
)
leider funktioniert das nicht und ich weiß nicht wieso. Ich wäre dankbar, wenn mir jemand helfen könnte, meine Batcherfahrung ist nämlich sehr begrenzt.
Grüße,
drifting
Please also mark the comments that contributed to the solution of the article
Content-Key: 129958
Url: https://administrator.de/contentid/129958
Printed on: April 25, 2024 at 06:04 o'clock
6 Comments
Latest comment
Servus,
in einer "for" schleife mag set nicht so - wie es soll.
siehe:
Das echo bleibt "leer" - bzw Echo on kommt.
Oder mit einer "Temporären" batch den Kram auffangen - ich hatte neulich auch wieder so einen fall, wo es auch mit gesetztem delayedexpansion nicht wollte..
Gruß
in einer "for" schleife mag set nicht so - wie es soll.
siehe:
for %%i in ("%CD%\*.txt") do (
set "Name=%%i"
set "newname=%Name:~0,-18%"
echo "%Name%" -"%Newname%"
rename "%Name%" "%newname%"
)
Das echo bleibt "leer" - bzw Echo on kommt.
setlocal enabledelayedexpansion
und ansattt den beiden%%
diese nutzen!!
Oder mit einer "Temporären" batch den Kram auffangen - ich hatte neulich auch wieder so einen fall, wo es auch mit gesetztem delayedexpansion nicht wollte..
if exist temp.cmd del temp.cmd
for %%i in ("%CD%\*.txt") do (
echo set "newname=%%i:~0,-18%%" >>temp.cmd
echo rename "%%i" "%%newname%%" >>temp.cmd
)
temp.cmd
Gruß
@miniversum:
jau - wobei die Tampon Datei den Vorteil hat, dass man später nachforschen kann - wie denn die eine (evtl, falsch umbenamste) Datei im Ursprung mal hieß.
jau - wobei die Tampon Datei den Vorteil hat, dass man später nachforschen kann - wie denn die eine (evtl, falsch umbenamste) Datei im Ursprung mal hieß.
Hallo,
Gruß
- welches der Beispiele hast du denn genommen?
- wie sieht - wenn es die temp. Datei war - der Inhalt der selbigen aus?
Gruß