[Windows 7] Dateien nach Ordner umbenennen

Dieses Thema im Forum "Windows" wurde erstellt von Schnubbi, 20. Juni 2011 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  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
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.