#1 20. Juni 2011 Dateien nach Ordner umbenennen Tach, ich suche eine Möglichkeit Dateien in einem Ordner nach dem Ordnernamen umzubenennen. Und wenn weitere Dateien vorhanden sind, sollten die z.B. "*-2" "*-3"... heißen. Und das alles in eine Schleife gepackt, damit ich das bei vielen Ordnern machen kann. Also: ordner 1 ---DateiX ---DateiY Ordner 2 ---DateiL ---Datei A ---Datei B Wird zu Ordner 1 ---Ordner 1 ---Ordner 1-2 Ordner 2 ---Ordner 2 ---Ordner 2-1 ---Ordner 2-2 Gibts da ne möglichkeit über Batch? Order gibts da fertige programme. Ich hab mich ein bisschen mit Google und vorhandenen Batch Dateien gespielt aber nichts passendes gefunden bzw nicht umschreiben können. Hier eine aus dem Board, diese Batch Code: @echo off FOR /F "delims=" %%i in ('dir /B /AD') do ( FOR /F "delims=" %%j in ('dir "%%i" /B /A-D') do copy /-Y "%%i\%%j" "%%i%%~xj" rd /s /q "%%i" ) Wäre euch sehr dankbar, wenn jemand ne Idee hätte bzw. mit Batch besser umgehen kann als ich. Greez Schnubbi
#2 20. Juni 2011 AW: Dateien nach Ordner umbenennen Also ich hab jetz mal die routine soweit, dass die Dateien so heißen wie der Ordner. Jetz bleibt nur noch das Problem, dass jeweils nur eine Datei von jeder endung umbenannt wird, da sonst mehrere gleiche Dateinamen entstehen würden. Weiß jemand wie ich ne abfrage in den Code einbauen kann, der besagt: Wenn Dateinamen bereits existiert, benenne die Datei um in Datei_2 Hier der vorläufige Code Code: @echo off FOR /F "delims=" %%i in ('dir /B /AD') do ( FOR /F "delims=" %%j in ('dir "%%i" /B /A-D') do rename "%%i\%%j" "%%i%%~xj" ) Mit diesem Code kommt halt imme die Meldung dass die Datei schon vorhanden ist (wenn mehrere gleiche endungen vorhanden sind) wisst ihr weiter? Greez schnubbi
#3 22. Juni 2011 Zuletzt von einem Moderator bearbeitet: 13. April 2017 AW: Dateien nach Ordner umbenennen Bist wahrscheinlich im Programmierungsbereich besser aufgehoben mit deinem Problem. Oder mal hier anmelden und fragen: Batch & Shell - administrator.de
#4 22. Juni 2011 AW: Dateien nach Ordner umbenennen Ich bin deinem Rat gefolgt und hab mich bei administratoren.de angemeldet. Hier der Code, falls noch jemand anders mal eim ähnliches Problem haben sollte. Anmerkung: man muss den Ordner indem man die "Umbenennung" stattfinden lässt als SrcDir deklarieren, dann klappt das genauso wie ich mir das vorgestellt habe. Echte Prosauf der seite administratoren.de, sehr zu empfehlen. Code: @echo off setlocal set "SrcDir=E:\test" for /d %%d in ("%SrcDir%\*.*") do ( set "ActDir=%%d" call :ProcessDir ) exit /b :ProcessDir for /f "delims=" %%f in ("%ActDir%") do set "ParentDir=%%~nxf" for /f "delims=" %%f in ('dir /b /a:-d "%ActDir%" 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 "%ActDir%\*%%e" 2^>NUL') do ( set "File=%ActDir%\%%f" call :RenameFile set /a Cntr+=1 ) ) exit /b :RenameFile ren "%File%" "%ParentDir%-%Cntr%%Ext%" exit /b :ConcatString call set "%1=%%%1%% %%Item%%" exit /b Greez Schnubbi