$folder1 = "C:\path\to\first\folder" $folder2 = "C:\path\to\second\folder" $hash1 = Get-ChildItem $folder1 -Recurse | Get-FileHash | Select-Object Hash, Path $hash2 = Get-ChildItem $folder2 -Recurse | Get-FileHash | Select-Object Hash, Path $diff1 = Compare-Object $hash1 $hash2 -Property Hash -PassThru | Where-Object { $_.SideIndicator -eq "<=" } $diff2 = Compare-Object $hash1 $hash2 -Property Hash -PassThru | Where-Object { $_.SideIndicator -eq "=>" } Write-Host "Files in folder 1 not in folder 2:" $diff1 | ForEach-Object { $_.Path } Write-Host "Files in folder 2 not in folder 1:" $diff2 | ForEach-Object { $_.Path }