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-Key: 572743

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

Printed on: April 28, 2024 at 04:04 o'clock

Member: emeriks
emeriks May 18, 2020 at 09:45:42 (UTC)
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.
Member: Daemmerung
Solution Daemmerung May 18, 2020 at 18:41:10 (UTC)
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
Member: Falaffel
Falaffel May 19, 2020 at 12:00:29 (UTC)
Goto Top
Danke für die Info, werde ich dann mal versuchen.
Member: Falaffel
Falaffel May 19, 2020 at 12:01:35 (UTC)
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.
Member: Daemmerung
Solution Daemmerung May 19, 2020 at 17:56:17 (UTC)
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