Robocopy Skript für viele Verzeichnisse anpassen

Christian1297

Rear Admiral
Registriert
Nov. 2012
Beiträge
5.354
Hallo,

ich habe hier einen Pool an vielen alten Dateien. Diese möchte ich aufräumen und alles was älter als 10 Jahre ist woanders hin verschieben. Nach eigener Recherche eignet sich robocopy sehr gut für sowas, da mit dem Zusatz "minage" genau solch eine Filteroption besteht.

Die Schwierigkeit besteht aber darin, dass die Dateien nicht alle in einen Ordner verschoben werden dürfen sondern in ein Oberverzeichnis in Abhängigkeit des Ursprungsort.

Konkret habe ich quasi folgende Struktur:
Code:
            |- Freigabe A - Ordner A
            |              - Ordner B
            |              - Ordner etc.
            |
            |- Freigabe B - Ordner X
            |              - Ordner Y
            |
Laufwerk ---|- Freigabe C - Ordner Z
            |              - Ordner 1
            |
            |- Freigabe D -    Ordner XZ

Robocopy soll den Archivordner für die alten Dateien nun nicht auf der Ebene von "Freigabe" erstellen sondern jeweils im Ordner A, B, etc., und das eben in Abhängigkeit davon, aus welchem der Ordner die Datei kommt.

Code:
            |- Freigabe A - Ordner A  --    -Archivordner
            |             - Ordner B  --    -Archivordner
            |             - Ordner etc. --    -Archivordner
            |
            |- Freigabe B - Ordner X  --    -Archivordner
            |             - Ordner Y  --    -Archivordner
            |
Laufwerk ---|- Freigabe C - Ordner Z  --    -Archivordner
            |             - Ordner 1  --    -Archivordner
            |
            |- Freigabe D - Ordner XZ --    -Archivordner

Hat einer von euch eine Idee wie man sowas umsetzen kann? Ich habe mich schon vom Copilot inspirieren lassen aber der scheint auch nicht so ganz zu wissen was er da eigentlich "programmiert". Ich habe schon mit der Powershell experimentiert um mir eine Verzeichnisliste in den jeweiligen Freigaben generieren zu lassen um diese als variable im Robocopy Skript zu nutzen aber das hat am Ende nicht so richtig funktioniert.
 
Dein Vorhaben würde ich nicht mit robocopy + Script angehen sondern mit einem reinen Powershell-Script (mit entsprechender Logik nach Dateialter).
Viel einfacher wäre es allerdings, wenn du den Archivordner nicht auf unterster Ebene platzierst, sondern ein Archivverzeichnis außerhalb der Struktur nutzt. Dann würd ein einziger robocopy-Befehl ausreichen ohne großes Gebastel.
 
Wenn du Performance benötigst, lasse robocopy und PowerShell beiseite und gönne dir Gurusquad GSCopy.
Dies ist etwa 40% schneller.
 
  • Gefällt mir
Reaktionen: konkretor
Wenn du mit den Robocopy Optionen etwas herumspielen willst.
1707865221991.png

https://www.wintotal.de/download/yarcgui/

Wurde zwar schon länger nicht mehr gepflegt, aber meines Wissens dürfen seitdem keine neuen Parameter hinzugekommen sein.
 
Zurück
Oben