powershell - 在具有相同名称和相同 LastWriteDate 的 2 个不同文件夹中查找 .jpg
问题描述
我在硬盘上有很多 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}
解决方案
无需递归,您可以将文件夹文件与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
如果需要递归并且必须比较子文件夹,您还必须构建一个具有可比较的相对路径的计算属性。
推荐阅读
- java - 对象值不改变 Java 数组
- c++ - C++20 中的用户定义推导指南
- javascript - React Native 样式表在刷新之前不起作用
- javascript - 在 pool.query 中使用 node.js pool.query
- laravel - Laravel 的疑惑
- flutter - 如何使用 Flutter 过滤 Firestore 文档?
- android - 有没有办法让 textview 避免另一个?
- python - 如何在 python 3 中从字符串中提取浮点值?
- javascript - 将 DOM 元素渲染到 React 组件中
- python - AttributeError:“CollectionReference”对象没有属性“orderBy”