Powershell - 计算具有相同名称模式的文件

时间:2016-04-06 15:06:18

标签: powershell

我尝试计算文件夹中具有相同名称模式的文件。在这种情况下,每个标志都在" _"是重要的部分(模式)。

示例(c:\ temp)
ct24fe_2016-03-01.txt
ct24fe_2016-03-04.txt
ct24fe_2016-03-08.txt
ct24fe_2016-04-01.txt
ct24fe_2016-04-04.txt
xye4ka_2015-03-04.txt
xye4ka_2015-03-08.txt
xye4ka_2015-03-10.txt
xye4ka_2015-03-15.txt
xye4ka_2015-04-01.txt
xye4ka_2015-04-04.txt
zzztgf_2014-04-16.txt
zzztgf_2014-04-18.txt
zzztgf_2014-04-19.txt
zzztgf_2014-05-15.txt

结果应为:

名称|计数
ct24fe | 5
xye4ka | 6
zzztgf | 4

我怎么能这样做?

感谢您的支持。

3 个答案:

答案 0 :(得分:1)

Group-Object支持-Property参数的脚本块,您可以将文件直接传送给它:

Get-ChildItem C:\temp |Group-Object {$_.Name -split '_' |Select -First 1} -NoElement

答案 1 :(得分:0)

所以我想出了这个:

$input = "your stuff"
$array = New-Object System.Collections.ArrayList
$input | % {$array.Add($_.split("_")[0])}

$array | Group-Object -NoElement

答案 2 :(得分:0)

一种可能性:

return items.stream()
            .filter(i -> !otherItems.contains(i))
            .filter( /* another condition */ )
            .collect(Collectors.toList());