Sortierung von Ordnern mit Robocopy
Guten Morgen liebe Leute,
ich habe da ein kleines Problem.
Wir möchten unsere Ordner und Freigabenstruktur auf dem Fileserver neu Ordnen.
Im ersten Schritt haben wir uns also eine neue Struktur überlegt
Diese Sieht so aus
Das Zusammentragen der Dateien Würde ich mit Robocopy machen, da ich es für sinvoll erachte und es viele Einstellmöglichkeiten bietet. Lasse mich auch gerne von einem Andern Tool überzeugen.
Mein Problem sin die Projektordner der alten Struktur.
Diese sind wie folgt aufgebaut.
Projektnummer Name
sieht dann so aus:
4199-DEF
1087-ABC
2587 GHT
7199 BFG
usw.
Nun sollen alle Projekte mit 4 in den neuen Ordner 4xxx, die mit 2... in den Ordner 2xxx und so weiter.
Dies kann man natürlich machen in dem man hergeht und für jeden Ordner eine neue Zeile Schreibt. Was leider sehr aufwändig und Fehlerintensiv sein kann.
Nun zur Frage:
Ich möchte am Liebsten die alte Freigabe als Quelle angeben und das Script geht her und sortiert die Ordner entsprechend in den neuen Projektordner ein.
Wie kann man dieses Problem denn am besten lösen?
Besten Dank für die Hilfe
Schönen Tag
Shooan
ich habe da ein kleines Problem.
Wir möchten unsere Ordner und Freigabenstruktur auf dem Fileserver neu Ordnen.
Im ersten Schritt haben wir uns also eine neue Struktur überlegt
Diese Sieht so aus
Das Zusammentragen der Dateien Würde ich mit Robocopy machen, da ich es für sinvoll erachte und es viele Einstellmöglichkeiten bietet. Lasse mich auch gerne von einem Andern Tool überzeugen.
Mein Problem sin die Projektordner der alten Struktur.
Diese sind wie folgt aufgebaut.
Projektnummer Name
sieht dann so aus:
4199-DEF
1087-ABC
2587 GHT
7199 BFG
usw.
Nun sollen alle Projekte mit 4 in den neuen Ordner 4xxx, die mit 2... in den Ordner 2xxx und so weiter.
Dies kann man natürlich machen in dem man hergeht und für jeden Ordner eine neue Zeile Schreibt. Was leider sehr aufwändig und Fehlerintensiv sein kann.
Nun zur Frage:
Ich möchte am Liebsten die alte Freigabe als Quelle angeben und das Script geht her und sortiert die Ordner entsprechend in den neuen Projektordner ein.
Wie kann man dieses Problem denn am besten lösen?
Besten Dank für die Hilfe
Schönen Tag
Shooan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 286892
Url: https://administrator.de/contentid/286892
Ausgedruckt am: 26.11.2024 um 07:11 Uhr
7 Kommentare
Neuester Kommentar
Moin,
mit einem PS Skript lässt sich das alles lösen ....
Findest du hier im Forum auch diverse Beispiele, einfach mal die Suchfunktion anwerfen.
Gruß grexit
mit einem PS Skript lässt sich das alles lösen ....
gci c:\quelle | ?{$_.PSIsContainer -and $_.Name -Match '^\d+'} | Copy-Item -Destination {"c:\Ziel\Projekte\$($_.Name.substring(0,1))xxx\$($_.Name)"} -recurse -force
Findest du hier im Forum auch diverse Beispiele, einfach mal die Suchfunktion anwerfen.
Gruß grexit
das Skript nimmt alle Unterordner aus dem Ordner c:\Quelle welche mit Zahlen beginnen, extrahiert die erste Zahl der Projektordner und schiebt sie in den passenden Ziel-Projektordner -> Nxxx
Ja das Läuchtet dafinitiv ein.
Schon mal gut ... p.s. es heißt "leuchtet" Wenn du Robocopy verwenden willst nimmst du stattdessen einfach eine Foreach-Schleife und baust den Befehl dort ein:
gci c:\quelle | ?{$_.PSIsContainer -and $_.Name -Match '^\d+'} | %{
$target = "c:\Ziel\Projekte\$($_.Name.substring(0,1))xxx\$($_.Name)"
robocopy $_.FullName $target "*" /E /COPYALL
}
gci c:\quelle | ?{$_.PSIsContainer} | %{
if ($_.Name -match '^\d+'){
$target = "c:\Ziel\Projekte\$($_.Name.substring(0,1))xxx\$($_.Name)"
}else{
$target = "c:\Ziel\Projekte\unklar\$($_.Name)"
}
robocopy $_.FullName $target "*" /E /COPYALL
}