Ich versuche in mehreren Dateien in einem Verzeichnis ein Wort im Dateinamen durch ein anderes zu ersetzen? Das Problem ist das die Dateierweiterung (txt, exe,..) nicht im neuen Namen übernommen wird. Ich kann sie manuell setzen aber manchmal sind mehrere verschiedene Dateitypen in einem Verzeichnis und das ist dann nicht so praktisch.
@echo off
setlocal enabledelayedexpansion
set "suchwort=alt"
set "ersetzung=neu"
for %%F in (*%suchwort%*) do (
set "dateiname=%%~nF"
set "neuername=!dateiname:%suchwort%=%ersetzung%!"
ren "%%F" "!neuername!"
)
endlocal