romberto
Goto Top

Per Batch Datei Ordner ab einer bestimmten Ebene einzeln mit 7zip oder winrar packen und Ordner anschießend löschen

Hallo Community,

Der Virtuelle Frühjahrsputz steht an und ich stehe einmal mehr vor einem Problem bezüglich meiner Büroorganistation. Ich würde mich über eure Hilfe sehr freuen.

Folgendes Problem:

Ich habe meine Projekte Chronologisch stehts nach dem selben Prinzip sortiert:

Lokalerdatenträger XYZ:/
|
Archiv
|
2001
| |
| 2001-01
| | |
| | Projektordner mit Namen des Projekts
| | Projektordner mit Namen des Projekts
| | usw....
| |
| 2001-02
| usw...
|
2002
2003
usw...

In den Projektordner befinden sich dann wiederum die Projektdateien. Nun Möchte ich gerne im Root-Verzeichnis des Datenträgers eine Batch starten, die mir ausschließlich sämtliche Projektordner (also alles ab Verzeichnisebene 3) einzeln packt und anschließend die schon bearbeiteten ungepackten Ordner löscht, alternativ die gepackten Dateien mit komplettem Pfad woanders hinkopiert.

Als Programm würde ich 7zip oder Winrar bevorzugen. Sollte es mit einem anderen Programm besser funktionieren wäre das natürlich auch nicht schlimm.

Vielen Dank schonmal im Voraus und viele Grüße

Robert

Content-Key: 179819

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

Ausgedruckt am: 28.03.2024 um 22:03 Uhr

Mitglied: bastla
bastla 31.01.2012 um 13:01:20 Uhr
Goto Top
Hallo romberto!

Schematisch könnte das etwa so aussehen (ungetestet):
@echo off & setlocal
set "Basis=X:\"  
set "Kenn=20??-??"  

for /f "delims=" %%i in ('dir /s/b/ad "%Basis%%Kenn%"') do (  
    for /d %%a in ("%%i\*") do (  
        echo 7z a -t7z "%%i\%%~nxa.7z" "%%a\*.*" -r && echo rd /s/q "%%a"  
    )
)
Die beiden "echo" in der Zeile 7 erlauben gefahrloses Testen, da so die entsprechenden Befehle nur angezeigt werden.

In der Zeile 2 ist die Angabe des Basisordners immer mit einem "\" abzuschließen.
Aufgrund der Festlegung in Zeile 3 auf "20??-??" wird die Suche nach den "Monatsordnern", deren Unterordner schließlich gepackt werden sollen, durchgeführt.
Den eigentlichen Packbefehl in Zeile 7 musst Du natürlich noch an Deine Bedürfnisse / das von Dir verwendete Programm anpassen.

Grüße
bastla
Mitglied: romberto
romberto 31.01.2012 um 13:26:43 Uhr
Goto Top
Wow! Perfekt! Vielen, vielen Dank, es funktioniert 1a!