jack005
Goto Top

Dateien in gleiche Ordnerstruktur verschieben mit Powershell

Guten Morgen zusammen !

Ich weiß, dass es schon viele Beiträge zu diesem Thema gibt. Ich würde das nur gerne per Powershell machen, habe aber dazu noch nichts gefunden..

Also:
Ich habe einen Ordner X und einen Unterordner Y in dem Dateien liegen. Jetzt möchte ich, dass diese Dateien in ein Archiv verschoben werden, in dem es genau die gleiche Ordnerstruktur gibt. Habe mir auch schon ein Batch File geschrieben, was diese Struktur (ohne Dateien) kopiert.

Ansonsten ist hier mein Powershell-Befehl, den ich bis jetzt habe:

gci 'D:\Odner\*.*' -Recurse | ?{$_.CreationTime -lt (get-date).AddMonths(-1) -and ?{$_.LastWriteTime -lt (get-date).AddMonths(-1)} | copy-item -destination D:\Archiv

Wenn ich diesen Befehl starte, werden aber alle Dateien "auf einer Ebene" gespeichert. Ich hätte aber gerne, dass z.B Datei A dann auch wieder im Archiv im Unterordner Y liegt.

Danke im Voraus für die Antworten.

Content-ID: 266517

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

Ausgedruckt am: 22.11.2024 um 02:11 Uhr

colinardo
Lösung colinardo 17.03.2015, aktualisiert am 18.03.2015 um 07:31:49 Uhr
Goto Top
Hallo Jack005,
machst du mit Powershell auf diese Art und Weise:
# Quellordner
$sourcePath = "D:\Ordner"  
# Zielordner
$targetPath = "D:\Archiv"  
# für jedes File das den Kriterien entspricht
gci $sourcePath -Recurse -Filter *.* | ?{$_.CreationTime -lt (get-date).AddMonths(-1) -and $_.LastWriteTime -lt (get-date).AddMonths(-1)} | %{
    # erzeuge Ordnerpfad für Ziel indem im Pfad der Datei der Quell-Ordner durch den Zielordner ersetzt wird
    $newPath = $_.DirectoryName.Replace($sourcePath,$targetPath)
    # wenn Zielordner noch nicht existiert erstelle ihn
    if (!(Test-path $newPath)){md $newPath}
    # verschiebe Datei in den Zielordner im Archiv
    move-item $_.FullName $newPath -Force
}
Grüße Uwe
Jack005
Jack005 17.03.2015 um 15:43:32 Uhr
Goto Top
Hallo und danke für die schnelle Antwort.

Bin heute an der Arbeit leider nicht mehr dazu gekommen es zu testen, mache ich dann aber gleich morgen früh face-smile

Gruß
Jack005
Jack005 18.03.2015 um 07:33:05 Uhr
Goto Top
Vielen, vielen Dank ! face-smile
Klappt perfekt und genau so, wie ich es mir vorgestellt habe.

Gruß