如何在PowerShell中获取目录中不同文件的数量?

4

我当前有这段代码,它返回文件总数,但我不想在这个数字计算中重复计算多个文件?

假设我有以下内容:

01Red.txt
01Blue.txt
02Red.txt
05Red.txt
05Green.txt

Get-ChildItem -File *.txt -Path "C:\Users\Test\Desktop\TestDirectory" | Measure-Object | %{$_.Count}

我希望返回基于“01,02,05”的总数为3,但是我的代码返回5。
如何使其返回3并忽略字符串中第一个2个字符之后的所有内容?
2个回答

7
我可以建议使用 Group-Object
Get-ChildItem *.txt | Group-Object { $_.Name.Substring(0,2) }

在你的示例中,添加 | Measure-Object 来计算分组数量(这将是3)。


5
Get-ChildItem -File *.txt -Path "C:\Users\Test\Desktop\TestDirectory" 
| select {$_.BaseName.Substring(0,2)} | Get-Unique -AsString | measure

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接