比较文件夹大小并移动到另一个文件夹

时间:2018-03-10 17:47:34

标签: powershell compare

我有这个脚本搜索相同大小的文件,如果它的大小相同,我会把它放在哪里(" C:\ folder1")并将其他副本移到& #34; C:\ files_compared"

$allfiles = Get-ChildItem -file -recurse "C:\folder1"  | Group-Object -Property length
foreach($filegroup in $allfiles)
{
    if ($filegroup.Count -ne 1)
    {
        $fileGroup.Group[1..($fileGroup.Count-1)] | move -Destination 'C:\Files_compared'
    }
}

现在的问题是我想这样做,但只能使用文件夹而不是文件。

我尝试将-Directory放在文件中,但我不知道接下来要做什么。

$allfiles = Get-ChildItem -Directory -recurse "C:\folder1"  | Group-Object -Property length
foreach($filegroup in $allfiles)
{
    if ($filegroup.Count -ne 1)
    {
        $fileGroup.Group[1..($fileGroup.Count-1)] | move -Destination 'C:\Files_compared'
    }
}

感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用它,它会比较文件夹中的文件,如果文件长度相同,它会移动到目标文件夹。

Get-ChildItem -file "E:\folder" | Group-Object -Property length | ForEach-Object {$_.Group | Select-Object -Skip 1 | Move-Item -Destination "E:\folder\move"}