2016-11-03 193 views
1

我试图找到目录下的文件总数,该目录存在于我公司的共享驱动器上。但是我没有权限访问几个子目录内的一些文件夹(严格限制)。我正在使用Windows PowerShell,但出现许多错误,说明PERMISSION DENIED以及它无法访问的文件夹路径。下面是我使用的命令,计算一个目录下的文件数(包括子目录下的文件)

Get-ChildItem -Recurse | Measure-Object | %{$_.Count} 

我的问题是,有没有办法找到所有的目录和子目录中的文件的总数,忽略这些导致错误的限制文件?

回答

0

PowerShell的3.0和更高版本:

(Get-Childitem -Recurse -path x:\whatever -erroraction SilentlyContinue | where {-not ($_.PSIsContainer)}).count 

你可能还会看到一些错误,但你会得到一个答案

+0

我不认为它正在计算可访问文件夹中的所有文件。它向我展示了一个非常小的计数 – Dravidian

+1

这是比PS3更多的PS2?但结果是准确的。 – sodawillow

+0

PS2不支持自动注册,我们在这里使用的是。 – restless1987

1

只是做

(gci -Path C:\temp -File -Recurse -ErrorAction SilentlyContinue).Count 
+0

没有得到计数作为输出,而是它列出了几个目录中的文件,就是这样。 – Dravidian

+0

如果你的dirs不能启用你无法计数,对不起 – Esperento57

0

让我试试:

Get-Childitem "C:\Users" -File -Recurse -ErrorAction SilentlyContinue | 
    Measure-Object | 
    Select-Object -ExpandProperty Count 
相关问题