thorsten90
Goto Top

Datenarchivierung und Umbenennung

Hallo

Ich benötige eine Batch-Datei um einige Daten zu verarbeiten. Ich habe bisher noch nie mit Kommandozeilen oder Batch-Dateien gerbeitet und habe daher wenig Ahnung davon. Dies ist mein erster Versuch.

Ich habe folgende Verichnisstruktur:

Hauptverzeichnis
    1. Ordner 1
      1. Unterordner 1
      2. Unterordner 2
      3. Unterordner 3
    2. Ordner 2
      1. Unterordner 1
      2. Unterordner 2
      3. Unterordner 3
    3. Ornder 3
      1. Unterordner 1
      2. Unterordner 2
      3. Unterordner 3


    Die Unterordner enthalten jpg-Dateien. Da es zu viele Ordner sind und auch ständig neue Ordner und Unterorner hinzukommen ist das ganze zu viel um es per Hand zu machen.

    Die Batch-Datei soll folgendes machen:

    1. Alle verzeichnisse durchsuchen und alle *.cbr in *.rar umbenennen.
    2. In jedem Ordner die Unterverzeichnisse in ein rar-Archiev packen und mit Ordner*_Unterordner* benennen (doppelter Unterstrich). Wenn ein Archiv bereits vorhanden ist soll es einfach übersprungen werden.

    Das Verzeichnis sollte dann so aussehen:

    Hauptverzeichnis
      1. Ordner 1
          1. Unterordner 1
          2. Unterordner 2
          3. Unterordner 3
          4. Ordner 1_Unterordner 1.rar
          5. Ordner 1_Unterordner 2.rar
          6. Ordner 1_Unterordner 3.rar
      2. Ordner 2
          1. Unterordner 1
          2. Unterordner 2
          3. Unterordner 3
          4. Ordner 2_Unterordner 1.rar
          5. Ordner 2_Unterordner 2.rar
          6. Ordner 2_Unterordner 3.rar
      3. Ornder 3
          1. Unterordner 1
          2. Unterordner 2
          3. Unterordner 3
          4. Ordner 3_Unterordner 1.rar
          5. Ordner 3_Unterordner 2.rar
          6. Ordner 3_Unterordner 3.rar



    3. Alle rar-Archive ivon *.rar in *.cbr umbenennen. Die cbr-Dateien kann ich dann weiter verarbeiten.


    Folgendes habe ich bisher:

    @echo off
    set dir=Verzeichniss
    for /d /r %dir% %%i in (*) do ren %%~fi\*.cbr *.rar
    for /d /r %dir% %%i in (*) do rar a -r -o- -ep1 -inul %%~fi.rar %%i
    for /d /r %dir% %%i in (*) do ren %%~fi\*.rar *.cbr
    pause

    Das ganze muss noch um zwei Dinge ergänzt werden:

    1. Die erste Verzeichnissebene soll übersprungen werden. Momentan werden die Ordner und die Unterordner in rar-Archive umgewandelt, es sollen aber nur die Unterordner umgewandelt werden.
    2. Der Name der Archive ist momentan der Name des Unterordners. Sie sollen aber Ordner_Unterorner.rar heißen, nicht Unterordner.rar

    Ich hoffe, jemand hier kann mir helfen.

    Grüße

    Thorsten

Content-Key: 212014

Url: https://administrator.de/contentid/212014

Printed on: April 19, 2024 at 06:04 o'clock

Member: bastla
bastla Jul 20, 2013 at 10:25:59 (UTC)
Goto Top
Hallo Thorsten90 und willkommen im Forum!

Etwa so (ungetestet):
for /d %%i in ("%dir%\*") do (  
    for /d %%j in ("%%i\*") do ren "%%j\*.cbr" *.rar  
    for /d %%j in ("%%i\*") do rar a -r -o- -ep1 -inul "%%~dpi%%~nxi_%%~nxj.rar" "%%j"  
    for /d %%j in ("%%i\*") do ren "%%j\*.rar" *.cbr  
)
Annahme dabei: Es gibt, wie in Deiner Beschreibung, nur jeweils eine Unterordnerebene ...

Grüße
bastla
Member: Thorsten90
Thorsten90 Jul 20, 2013 updated at 11:39:45 (UTC)
Goto Top
Hi bastla

danke für deine schnelle Antwort.

Hab deinen Code getestet, er funktioniert fast so, wie ich es brauche.

Habe ein paar kleinigkeiten geändert:

for /d %%i in ("%dir%\*") do (  
    for /d %%j in ("%%i") do ren "%%j\*.cbr" *.rar  
    for /d %%j in ("%%i\*") do rar a -r -o- -ep1 -inul "%%~dpj%%~nxi_%%~nxj.rar" "%%j"  
    for /d %%j in ("%%i") do ren "%%j\*.rar" *.cbr  
)

Habe es so geändert, dass die Archive in den Ordnern sind und nich alle im Hauptverzeichnis. Außerdem habe ich die ren Befehle entsprechend angepasst.

Vielen Dank für deine Hilfe,damit kann ich das Verzeichnis nun endlich anständig bearbeiten.

Grüße