计算以相同字符开头的文件

Counting files that start with the same characters

我正在尝试获取目录中前几个字符与字符串匹配的所有文件的数量。这是函数:

function CountMatchingID($d1,$s){
    $d = Get-ChildItem -filter $s -path $d1 | Measure-Object
    return $d.count 
}

我正在传递目录和一个带通配符的变量。它是 returning 目录中文件的总数。但是,如果我将函数内的 $s 更改为该变量的值,如下所示,它将 return 具有该开头的文件的准确数量。

function CountMatchingID($d1,$s){
    $d = Get-ChildItem -filter "201*" -path $d1 | Measure-Object
    return $d.count 
}

这些文件是员工 ID 照片,开头带有员工编号,我正在尝试自动搜索 csv 文件以将它们重命名为用户名,这样我们就可以将它们转储到 Jabber 显示照片的目录中。

我也乐于接受有关更好的方法来完成此任务的建议。我对 Powershell 还很陌生,所以欢迎任何反馈。

问题可能是您作为 $s 传递的内容,您没有显示示例。这符合我的预期

function CountMatchingID($d1,$s){
    Get-ChildItem -filter "$s*" -path $d1 | Measure-Object | Select -ExpandProperty Count
}

我自动将星号添加到过滤器中,以便可以假定它。

示例调用如下所示

CountMatchingID "c:\temp" "test"