אני משתמש בקוד הבא
$folder1Items = Get-ChildItem $folder1 -Recurse | Get-FileHash -Algorithm MD5
$folder2Items = Get-ChildItem $folder2 -Recurse | Get-FileHash -Algorithm MD5
$changes = Compare-Object $folder1Items $folder2Items -Property Name, Path -IncludeEqual
אבל אם 1 מהפרמטרים הוא null הוא מחזיר שגיאה של
Compare-Object : Cannot bind argument to parameter 'DifferenceObject' because it is null.
At line:22 char:41
+ $changes = Compare-Object $folder1Items $folder2Items -Property Name, ...
+ ~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Compare-Object], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.PowerShell.Commands.CompareObje
ctCommand
כלומר אם אחד מהפרמטרים לא מכיל שום קובץ אני מקבל את השגיאה הנ"ל.
ברצוני שימשיך להשוות גם מול 0 קבצים כלומר שהתוצאה תהיה שהכל לא תואם.




).