我在 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 会有很大帮助。
最佳答案
用正则表达式匹配目录名称。模式 ^AA.$
将匹配以 (^
)、got (AA
)、再多一个字符 (.
) 和字符串结尾 ($
)。由于点几乎可以匹配任何内容,例如 AAA、AAB、AA 之类的目录!等也包括在内。像这样,
# In addition, include only directories by checking PsIsContainer
gci Root -Recurse | ? { $_.PsIsContainer -and $_.name -match "^AA.$" }
关于如何获取计数,要么将 gci 输出到数组中并检查其计数成员,要么将结果传递给 Measure-Object
并选择计数成员。
关于windows - 统计以特定字符开头的子目录并在windows中指定长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17331473/