使用Compare-object获取文件大小

时间:2014-04-24 15:34:14

标签: powershell

我正在尝试使用Compare-Object来比较两个文件夹的内容。我想找到具有相同Length属性的所有文件。

很容易
Compare-Object -ReferenceObject $one  -DifferenceObject $two -Property Length -IncludeEqual -ExcludeDifferent

但是如果我只指定长度而不是Name作为属性我得到“@ {Length = 0; SideIndicator ===}”作为输出,所以我不知道匹配文件的名称。

如果我使用-PassThru它只返回-ReferenceObject中相同的文件,所以我没有-DifferenceObject中文件的名称

我错过了什么或只是错误的工具吗?

由于

1 个答案:

答案 0 :(得分:0)

谢谢,mjolinor,团队是关键。 这不是我追求的100%,但做得很好。

$allfiles = Get-ChildItem c:\temp\temp1, c:\temp2 | Group-Object -Property length

foreach($filegroup in $allfiles)
{
    if ($filegroup.Count -ne 1)
    {
        foreach ($file in $filegroup.Group)
        {
            Invoke-Item $file.fullname
        }
    }
}