functionstrut
Goto Top

Source löschen wenn Datei im Zielordner vorhanden

Hallo liebe Programmierer face-smile

ich habe ein kleines problem zu lösen. Und zwar habe ich einen Ordner A und einen Ordner B. Das Script soll schauen(anhand Dateinamen) ob die Datei in ordner B existiert, wenn ja dann soll die Datei in ordner A gelöscht werden. irgendwelche Sync befehle klappen leider nicht da ja in dem Fall dann immer die Datei in B gelöscht wird. Das ganze soll NUR mit Dateien funktionieren aber in ALLEN unterordnern.

ich habe es schon selber probiert indem ich mit DIR zwei txt Dateien erzeuge mit den Pfaden der Dateien und diese beiden txt dateien dann in powershell nutze zum vergleichen aber irgendwie löscht er trotzdem A wenn die Datei in B nicht vorhaden ist:

$File2 = "C:\txt_2.txt"  
while($File2.Length -ne 0){
$File = "C:\txt_1.txt"  
$File2 = "C:\txt_2.txt"  
$testpath = (Get-Content $File | Select-Object -First 1)
$testpath2 = (Get-Content $File2 | Select-Object -First 1)
If (Test-Path $testpath2){
	Remove-Item $testpath
}
(Get-Content $File | Select-Object -Skip 1) | Set-Content $File
(Get-Content $File2 | Select-Object -Skip 1) | Set-Content $File2
$File2 = "C:\txt_2.txt"  
}

es geht sicherlich auch einfacher als ich es versuche xD

Content-Key: 317882

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

Printed on: April 18, 2024 at 20:04 o'clock

Mitglied: 131026
Solution 131026 Oct 14, 2016 updated at 14:19:10 (UTC)
Goto Top
Compare-Object ist dein Freund!
$source1 = gci "D:\Ordner1" -File -Recurse  
$source2 = gci "D:\Ordner2" -File -Recurse  
compare $source1 $source2 -Property Name -IncludeEqual -ExcludeDifferent -PassThru | remove-item -Force

Gruß R.