Hallo,
war kniffliger als ich dachte.
Mit nachfolgender BAT-Datei sollte es klappen.
Gutes Gelingen wünscht
Günter
@echo off
REM Parameter definieren:
set pfad=%~dp0
set extension=mkv
set tempfile=%TEMP%\ordnerliste.txt
REM temporäre Textdatei löschen, falls vorhanden:
del %tempfile%
REM Ordnernamen in temporäre Datei schreiben:
for /R „%pfad%“ %%a in (*.%extension%) do echo %%~dpa>>%tempfile%
REM Zeile für Zeile Ordner auslesen und in SUB-Routine verarbeiten:
for /F „tokens=* delims=“ %%a in (%tempfile%) do call :SUB %%a
echo.
echo Ordner-Umbenennung abgeschlossen
echo.
pause
exit
:SUB
REM wenn Ordner = Ursprungsordner, SUB-Routine abbrechen:
if /i „%*“=="%pfad%" exit /b
REM Variablen „vorher“ und „nachher“ definieren:
set vorher=%*
set vorher=%vorher:~0,-1%
set nachher=%vorher%
REM wenn Ordner bereits HD angehängt hat, Routine abbrechen:
if „%vorher:~-3,3%“==" HD" exit /b
REM in der Variablen „nachher“ alle Zeichen vor dem Ordnernamen löschen:
for /L %%l in (1,1,30) do call :KUERZEN
REM Ordnernamen umbenennen:
@echo on
if exist „%vorher%“ rename „%vorher%“ „%nachher% HD“
@echo off
REM Routine beenden:
@echo off
exit /b
:KUERZEN
set nachher=%nachher:*=%
exit /b