首页 > 解决方案 > Powershell DistinctBy 条件

问题描述

如何过滤 PowerShell 中的列表以区分条件

我需要选择与绝对路径不同的文件路径,但按文件名过滤掉重复项(无论它们在哪里)。

所以对于这些文件路径:

D:\MyFolder\MyProject.dll

D:\MyFolder\MySubfolder\MyProject.dll

Get-Unique行不通,因为它们独一无二的。如何选择绝对路径但仅按文件名区分?

当前脚本如下所示:

get-childitem D:\MyFolder -recurse -filter "*.dll" | Select -expand FullName

我怎样才能返回(任一)上述条件之一FileName = MyProject.dll

标签: powershell

解决方案


You could sort -unique on the property before expanding:

Get-ChildItem -Path 'D:\MyFolder' -Recurse -Filter '*.dll' | 
  Sort-Object -Unique -Property Name | 
  Select-Object -ExpandProperty FullName

推荐阅读