在两个具有相同名称和相同LastWriteDate的文件夹中查找.jpg文件

时间:2019-03-27 20:49:35

标签: powershell

我在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}

1 个答案:

答案 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

如果需要递归并且必须比较子文件夹,则还必须构建一个具有相对路径的计算属性才能比较。