计算启动特定字符并在窗口中指定长度的子目录

时间:2013-06-26 22:20:16

标签: windows powershell cmd

我在Windows中有一个目录结构,如下所示:

\Root 
    \SUB-DIR1
        \A1
        \B1
        \AA1
    \SUB-DIR2
        \A2
        \C2
        \AA2
   \SUB-DIR3
        \A3
        \B3
        \AA3

我想使用"以' AA'开头的查询来计算目录(不是文件)。子目录名称的长度为3"

我试过了:

$f = get-childitem -Path C:\ROOT -recurse 
Write-Host $f.Count 

...但我不知道如何过滤特定的子项并计算它。 Powershell或Cmd会有很大的帮助。

1 个答案:

答案 0 :(得分:1)

将目录名称与正则表达式匹配。模式^AA.$将匹配以(^),得到(AA),又有一个字符(.)并且字符串结尾($)的字符串匹配)。由于点几乎可以匹配任何东西,像AAA,AAB,AA这样的目标!等也包括在内。像这样,

# In addition, include only directories by checking PsIsContainer
gci Root -Recurse | ? { $_.PsIsContainer -and $_.name -match "^AA.$" }

如何获取计数,要么将gci输出到数组中并检查其计数成员,要么将结果传递给Measure-Object并选择计数成员。