windows - 统计以特定字符开头的子目录并在windows中指定长度

标签 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 会有很大帮助。

最佳答案

用正则表达式匹配目录名称。模式 ^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/

相关文章:

python - 无法在 Windows 上安装 opencv-python

c++ - 检索特定打印机的可用工作表格式

powershell - 如何使用 Powershell 从电子邮件中获取 samaccountname?

c++ - C++ 程序和 cmd 控制台之间的管道

batch-file - Windows 批处理变量扩展无法正常工作

windows - 微软是否有可能在未来的版本中逐步淘汰 Win32 API?

c++ - 将颜色从RGB转换为NV12

c# - 在 C# 中使用 powershell 对象检索 cmdlet get-physicaldisk

powershell - 在Windows 7(cmd或PowerShell)上的子文件夹中展平文件

windows - 无法在Windows上启动Zookeeper for kafka