PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : dateierweiterung in batch-datei entfernen


claW
08.05.2008, 17:26
hallo,

ich hab mir gestern erst eine kleine batch gebastelt, um auf diese über das kontextmenü zugreifen zu können (es soll nur kurz eine jpg in eine png konvertieren). die konvertierung an und für sich ist ja nicht das problem, das wird alles von imagemagick gelöst. nur wenn ich das bewerkstellige, ist das ergebnis leider immer *.jpg.png. nun wollte ich fragen ob es eine möglichkeit gibt das .jpg zu entfernen, sodass nur noch .png als erweiterung stehen bleibt? auf das ständige umbenennen nachher hab ich nämlich keine lust. :)


Firefall
08.05.2008, 18:16
Jep, du kannst den Dateinamen beschneiden, wenn du ihn in eine Variable kriegst ;) Beispiel:
echo %temp%
echo %temp:~0,-4%
Dadurch wird die Variable temp ohne die 4 letzten Zeichen ausgegeben. Dasselbe machst du nun für deine Datei, du wirfst ihren Namen mit Set in eine Variable, schneidest davon ebenfalls mit Set die letzten 8 Zeichen ab und hängst dann PNG an. So:
Set meinevar=%meinervar:~0,-8%.png
Anschliessend benennst du die Datei real mit ren URSPRÜNGLICHERNAME %meinevar% um.

claW
08.05.2008, 18:23
funktioniert ohne probleme (obwohl ich -5 anstatt -4 einsetzen musste, warum ist mir allerdings schleierhaft; bei -4 bleibt der punkt von .jpg erhalten).

danke!

Firefall
08.05.2008, 18:26
:eek: Du hast doch gesagt die heissen .jpg.png und du willst nur png... Dann musst du doch mehr abschneiden... Naja egal wenns funktioniert ist gut :)