我在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会有很大的帮助。
答案 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
并选择计数成员。