Hallo Frankx,
mit besserem Thema, besserem Themenbereich und sonst das Gleiche
in einem Ordner Dateien namens artist-titel.jpg, artist1-titel1.jpg.
daraus soll werden: artist-titel-klein.jpg etc.
mit der Kommandozeile von Windows XP, die mit DOS herzlich wenig zu tun hat, lässt sich Dein Problem relativ einfach lösen, es ist ein Dreizeiler.
@echo off
FOR %%I IN (%1\.jpg) DO REN %%I "%%~nI-klein.tmp
FOR %%I IN (%1\.tmp) DO REN %%I "%%~nI.jpg
Aufruf:
pfad\zu\Skript LW:Pfad\zu\Verzeichnis
bei mir:
D:\BATCH\umbenennen.cmd D:\Test
Bitte beachte, dass hinter dem Verzeichnisnamen _kein_ Backslash stehen darf.
Mit ein paar Erläuterungen sind es ein paar Zeilen mehr.
@ECHO OFF
REM ----------------------------------------------------------------
REM erwarteter Übergabeparameter ist das zu bearbeitende Verzeichnis
REM steht in %1
REM Durchlaufe alle Dateien mit der Endung .jpg im angegebenen Verzeichnis
REM Hänge an den Dateinamen die Zeichenkette "-klein" und ändere die
REM Endung in .tmp, damit die Dateien nicht erneut umbenannt werden :-)
REM Verwende eine Endung, damit im zweiten Durchlauf nicht das gleiche
REM Problem des Mehrfachdurchlaufes entsteht.
FOR %%I IN (%1\*.jpg) DO REN %%I "%%~nI-klein.tmp
REM ----------------------------------------------------------------
REM Benenne die Endung um in .jpg
FOR %%I IN (%1\*.tmp) DO REN %%I "%%~nI.jpg
Dazu müssen die Befehlserweiterungen zur Verfügung stehen, was standardmäßig der Fall ist. Mehr zu for mit
help for
Freundliche Grüße
Vinzenz