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

Ausgedruckt am: 19.03.2024 um 05:03 Uhr

Mitglied: 131026
Lösung 131026 14.10.2016 aktualisiert um 16:19:10 Uhr
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.