使用powershell计算子文件夹中具有特定名称

时间:2016-10-14 18:49:14

标签: file powershell filter count subdirectory

所以我开始处理一个问题,我需要知道某个名称的子文件夹中有多少文件,这些文件在整个目录中重复多次。我想要计算的所有文件夹都具有相同的名称。例如:

Main Folder
    Subfolder
        Folder I want to count
        Folder A
        Folder B
    Subfolder
        Folder I want to count
        Folder C
        Folder D

我能够递归计算所有子文件夹中的文件数,但我不知道如何只查看名为&#34的文件夹。 我想要计算的文件夹"。

这是我到目前为止计算一切的地方。我需要添加/修改哪些内容才能查看和计算我想要的区域。我不熟悉supershell,并且一直在努力理解各种问题并将其拼凑在一起。

Get-ChildItem -recurse | Where {!$_.PSIsContainer} | Group Directory | Format-Table Name, Count -autosize

2 个答案:

答案 0 :(得分:1)

我可能会做这样的事情。

首先获取所有文件夹,然后运行它们。如果文件夹是" folder_I_want",请计算。

$folders = Get-ChildItem C:\Users\David\Documents\SAPIEN\test -Recurse | ?{ $_.PSIsContainer } | select name, fullname

foreach ($folder in $folders)
{
    #Write-Host "$folder"
    if ($folder.name -eq "folder_I_want")
    {
        $fullname = $folder.fullname
        #Gets the count of the files in "Folder I want". It will filter out folders.
        $count = (Get-ChildItem $fullname | where { $_.PSIsContainer -EQ $false }).count
        Write-Host "The amount of files in the folder I want: $count"
    }
}

答案 1 :(得分:1)

这样的事情?

(gci -Path c:\temp\ -Recurse -File | where fullname -like "*\yourname\*").Count