Vinzenz Mai: XP-Kommandozeile: Umbenennen geht doch

Beitrag lesen

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