Batch Dateien werden mehrmals umbenannt.

Frog33r

Lieutenant
Registriert
Jan. 2011
Beiträge
654
Hallo,

der folgende Code verändert Dateinamen in einem Ordner zu dem Ordnernamen und einer hochzählenden Nummer. Leider werden die Dateien mehrmals umbenannt und erst dann springt das Script zum nächsten Ordner. :freak:

Kann mir jemand sagen, woran das liegt?

Code:
@echo off

setlocal


set "SrcDir=E:\test"


for /f "delims=" %%d in ("%SrcDir%") do set "ParentDir=%%~nxd"

for /f "delims=" %%f in ('dir /b /a:-d "%SrcDir%" 2^>NUL') do (
  set "Item=%%~xf"
  call :ConcatString Extensions
)

for %%e in (%Extensions%) do (
  set /a Cntr=1
  set "Ext=%%e"

  for /f "delims=" %%f in ('dir /b /o:-s /a:-d "%SrcDir%\*%%e" 2^>NUL') do (
    set "File=%SrcDir%\%%f"
    call :RenameFile
    set /a Cntr+=1
  )
)

exit /b



:RenameFile
  ren "%File%" "%ParentDir%-%Cntr%%Ext%"
exit /b



:ConcatString
  call set "Compare1=%%%1%%"
  call set "Compare2=%%%1:%Item%=%%"
  if "%Compare1%" neq "" if "%Compare1%" neq "%Compare2%" exit /b
  call set "%1=%%%1%% %%Item%%"
exit /b

(http://suche.administrator.de/forum/Dateien-nach-Ordner-umbenennen-168485.html)


Gruß
Frog33r
 
Zurück
Oben