chrrs83
Goto Top

Dateien älter als - Powershell

Hi,

ich will per Powershellscript Dateien die älter als 7 Tage sind verschieben. Das bekomme ich auch ohne weiteres hin.
Wie aber sage ich Powershell, das er die Dateien in die gleiche Ordnerstruktur wie aus der Quelle verschieben soll.

Bsp.: Der Ordner C:\Dateien enthält viele Unterordner mit der Bezeichnung z.b. OrdnerA bis OrdnerZ. In diesen Ordner
befinden sich die Dateien. Ich will jetzt das das Script bei OrdnerA anfängt, in diesem Dateien sucht die älter als 7 Tage sind und die
an D:\Backup\Dateien\OrdnerA verschiebt. Also in den gleichen Ordner, nur an anderer Stelle.


Bsp.: In C:\Dateien\OrdnerA\ sind 3 Dateien älter als 7 Tage. Diese Datei soll er nach C:\Backup\Dateien\OrdnerA\ verschieben.

Vielen Dank im Voraus.

Viele Grüße

Content-ID: 275331

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

Ausgedruckt am: 22.11.2024 um 07:11 Uhr

colinardo
colinardo 22.06.2015 aktualisiert um 14:20:22 Uhr
Goto Top
Hallo chrrs83,
Beispiel:(Kommentare siehe Code)
$sourceRoot = 'C:\Dateien'  
$targetRoot = 'C:\Backup'  
gci $sourceRoot -Recurse | ?{!$_.PSIsContainer -and $_.LastWriteTime -lt (Get-Date).AddDays(-7)} | %{
        # Name des neuen Ordners erstellen indem der Quell-Root durch den Zielroot ersetzt wird
        $newDir = $_.DirectoryName.Replace($sourceRoot,$targetRoot)
        # Zielordnerstruktur erstellen
        new-item -ItemType Directory -Path $newDir -Force
        # File an seinen neuen Ort verschieben
        move-item $_.FullName -Destination "$newDir\$($_.Name)" -Force  
}
Wurde auch schon hier behandelt:
Powershell: Dateien suchen, Ordner, Unterordner

Grüße Uwe