Hier ein kleines Script was ich einem Kumpel gebaut habe, der folgendes Problem hatte:
Er hatte einen Ordner mit x Dateien und wollte einen Teil jedes Dateinamen durch einen anderen ersetzen. Bsp.: XDC234726.jpg -> FOO484726.jpg (für beliebige Endungen).
Daraufhin ist folgendes Script entstanden.
Um es zu nutzen einfach das Script in den Ordner kopieren und mit zwei Parametern starten:
rename.bat oldString newString
Getestet unter Windows7, XP Home und XP Professional.
@echo off if %1 == "" goto end if %2 == "" goto end set old=%1 set new=%2 echo old: %old% new: %new% pause for /R "%cd%" %%f in (*.*) do ( if "%%~xf" NEQ ".bat" ( echo %%f call :replace "%%f" ) ) goto end :replace setlocal EnableDelayedExpansion set filename=%~n1 set filename=!filename:%old%=%new%! move %1 "%~d1%~p1%filename%%~x1" :end
Photo:
Unter Unix Systemen is das einfacher:
for d in *.jpg; do mv $d ${d/’XDC’/'FOO’};doneUnter Unix Systemen is das einfacher:
for d in *.jpg; do mv $d ${d/’XDC’/'FOO’};done