Hallo,
zu Beginn muss ich leider gestehen, das ich in Sachen Scripting und der ganzen Powershell Thematik noch recht weit am Anfang stehe und sich daher schon blöde Fehler eingeschlichen haben könnten oder ich einfach auf dem Schlauch stehe.
Ich möchte ein Skript schreiben welches den Inhalt zweier Ordner vergleicht und bei Übereinstimmung im Dateinamen und bei einer "neueren" LastWriteTime diese Datei in einen Ordner kopiert bzw. überschreibt. Daten die noch nie davor im Test2-Ordner waren sollen unberücksichtigt sein.
Test1-Ordner: Hier werden die Dateien hinzugefügt (Inhalt: Test1.txt)
Test2-Ordner: Hierhin sollen die Dateien kopiert werden, bzw. die alten überschrieben werden.
Dieser Ordner ist mit den Dateien Test1.txt, Test2.txt und Test3.txtgefüllt.
Mein Skript sieht bisweilen so aus.
$Folder1Path = 'C:\Users\...\Desktop\Test1' $Folder2Path = 'C:\Users\...\Desktop\Test2' $Folder1Files = Get-ChildItem -Path $Folder1Path $Folder2Files = Get-ChildItem -Path $Folder2Path $FileDiffsName = Compare-Object -ReferenceObject $Folder1Files -DifferenceObject $Folder2Files -includeequal $FileDiffs | foreach { $copyParams = @{ 'Path' = $_.InputObject.FullName } if ($_.SideIndicator -eq '==' -and $Folder1Path.LastWriteTime -gt $Folder2Path.LastWriteTime) { $copyParams.Destination = $Folder2Path Copy-Item @copyParams -force -passthru | foreach{$_.FullName; $len += ($_.length/1KB);}; Write-Host $len "Bytes kopiert"; $len=0; } else { Write-Host "keine Übereinstimmung im Namen" } }
Ausgabe:
keine Übereinstimmung im Namen keine Übereinstimmung im Namen keine Übereinstimmung im Namen
Mein Problem ist die Abfrage der Zeit und diese zu Vergleichen. Kann mir da jemand helfen?
Vielen Dank!
Gruß Nrude