我试图计算目录中前几个字符与字符串匹配的所有文件的计数。这是功能:
function CountMatchingID($d1,$s){
$d = Get-ChildItem -filter $s -path $d1 | Measure-Object
return $d.count
}
我在目录中传递了一个带有通配符的变量。它返回目录中文件的总数。但是,如果我将函数内的$s
更改为该变量的值,如下所示,它将返回具有该开头的准确文件数。
function CountMatchingID($d1,$s){
$d = Get-ChildItem -filter "201*" -path $d1 | Measure-Object
return $d.count
}
这些文件是员工编号照片,其中包含员工编号,我尝试自动搜索csv文件以将其重命名为用户名,以便我们将其转储到Jabber目录中以显示照片。
我愿意接受关于更好地实现这一目标的建议。我对Powershell很新,所以欢迎任何反馈。
答案 0 :(得分:0)
问题可能是您作为$s
传递的内容,但您没有显示示例。这对我来说是预期的
function CountMatchingID($d1,$s){
Get-ChildItem -filter "$s*" -path $d1 | Measure-Object | Select -ExpandProperty Count
}
我自动将星号添加到过滤器中,以便可以假设它。
示例调用看起来像这样
CountMatchingID "c:\temp" "test"