我有这个脚本来搜索相同大小的文件,如果大小相同,我让一个文件放在它的位置("C:\folder1"(,并将其他副本移动到"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'
}
}
谢谢。
您可以使用
它,它比较文件夹中的文件,如果文件长度相同,它将移动到目标文件夹。
Get-ChildItem -file "E:folder" | Group-Object -Property length | ForEach-Object {$_.Group | Select-Object -Skip 1 | Move-Item -Destination "E:foldermove"}