我在hardrive上有很多jpg的图片。
现在,我想找到它们。因此,我需要比较2个文件夹并找到相同的图片。
我想找到具有相同名称和相同LastWriteTime的图片。
标准之一是不够的。
因此,我需要一个可以执行此操作的Powershell代码。
这是我所拥有的,但效果不佳。我还得到了不正确的结果。
那是我尝试过的:
Get-ChildItem -Path $Pfad1 -Recurse -Filter *jpg |
Where-Object {(Get-ChildItem -Path $Pfad2 -Recurse -Filter *jpg) -match $_.Name -and $_.LastWriteTime} |
ForEach-Object {$_.FullName}
答案 0 :(得分:0)
没有递归,您可以将文件夹文件与Compare-Object
$Folder1 = 'X:\path'
$Folder2 = 'Y:\path'
$Files1 = Get-ChildItem -Path $Folder1 -Filter *.jpg
$Files2 = Get-ChildItem -Path $Folder2 -Filter *.jpg
Compare-Object -Ref $Files1 -Diff $Files2 -Property Name,LastWriteTime `
-IncludeEqual -ExcludeDifferent -PassThru
如果需要递归并且必须比较子文件夹,则还必须构建一个具有相对路径的计算属性才能比较。