falaffel
Goto Top

Powershell - Inhalt eines Verzeichnisses mit Ausnahmen verschieben

Guten Morgen,

momentan hänge ich etwas. Ich möchte gerne per Powershell den gesamten Inhalt eines Verzeichnisses (Ordner und Dateien) in ein anderes Verzeichnis verschieben und ein paar der Ordner und Dateien als Ausnahmen stehen lassen.
Mit folgendem Code, dachte ich, das Problem gelöst zu haben:

# Quelle und Ziel
$Source = "F:\Temptest\*"  
$Target = "F:\Temptestbackup\"  

# Ausnahmen (Verzeichnisse und Dateien)
$Excl1 = "Verzeichnis1"  
$Excl2 = "Verzeichnis2"  
$Excl3 = "Datei1.pdf"  


# Es wir der gesamte Inhalte des Quellverzeichnisses, außer den definierten Ausnahmen, ins Zielverzeichnis verschoben
Get-ChildItem -Path $Source -Recurse -Exclude $Excl1, $Excl2, $Excl3 | Move-Item -Destination $Target


Leider stelle ich jetzt fest, dass die exkludierten Verzeichnisse zwar stehen bleiben, deren Inhalt jedoch ins Zielverzeichnis verschoben wird.

Wenn ich -Recurse weglasse, bleiben die Ausnahmen (Verzeichnisse) wie gewollt stehen. Jedoch auch die restlichen Verzeichnisse und nur deren Inhalt wird ins Zielverzeichnis verschoben.

Kann mir bitte jemand einen Tipp geben, wo mein Fehler liegt? Oder hat mir jemand eine komplett andere Herangehensweise, die funktioniert?

Content-ID: 572743

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

Ausgedruckt am: 25.11.2024 um 09:11 Uhr

emeriks
emeriks 18.05.2020 um 11:45:42 Uhr
Goto Top
Hi,
wahrscheinlich wäre es hier besser, statt über -Exclude besser über eine Pipe mit
... | Where {not $_.FullPath -like "*$Excl1*"} | ...  
oder ähnlich zu gehen.

E.
Daemmerung
Lösung Daemmerung 18.05.2020 um 20:41:10 Uhr
Goto Top
Moin,

robocopy könnte da vielleicht hilfreicher sein. Schau mal hier:
Mit Robocopy zwei Verzeichnisse ausschliessen

Vielleicht ist das hilfreicher. Mit robocopy hast du auch die Powershell-Restriktionen, wie zu lange Pfade, nicht.

Viele Grüße
Toni
Falaffel
Falaffel 19.05.2020 um 14:00:29 Uhr
Goto Top
Danke für die Info, werde ich dann mal versuchen.
Falaffel
Falaffel 19.05.2020 um 14:01:35 Uhr
Goto Top
Danke auch für deine Info. Wenn es mit Robocopy vorteile hat, werde ich wohl diesen Weg gehen, wenn mich auch eine Lösung mit Powershell gereizt hätte.
Daemmerung
Lösung Daemmerung 19.05.2020 um 19:56:17 Uhr
Goto Top
Kombinier beides. Robocopy ist ja letztendlich nur ein Werkzeug, welches du nutzen kannst. Powershell kann dabei ja weiterhin die Basis darstellen. Damit habe ich zumindest File-Server problemlos migrieren können. Bei langen Pfaden ist robocopy sehr vorteilhaft.

Viel Erfolg face-smile