Powershell:快速列出数​​十亿个文件夹

Powershell:快速列出数​​十亿个文件夹

我们必须检查大型 UNC 文件夹和一些包含数百万个文件的本地文件夹上的所有 ACL(针对特定用户)。

Get-ChildItem非常慢,因此我尝试使用该[System.IO.Directory]::EnumerateFiles($Spath, '*.*', 'AllDirectories')方法作为第一步来获取所有文件夹和子文件夹,然后使用结果逐个文件夹查找 ACL。

这个工作速度非常快,但是当我尝试将列表导出到 CSV 时,我总是得到字符串长度而不是内容。

非常简单的例子:

$Spath = "C:\Users\user1"

Try {
    $Folders = [System.IO.Directory]::EnumerateFiles($Spath, '*.*', 'AllDirectories')
} catch {
    $_.Exception.message
}
$Folders | Export-Csv C:\Temp\test.csv -NoClobber -NoTypeInformation

我得到的只是一个带有数字的列表。

对我来说,这显然是一个新手问题,但你能帮助我吗?

问候。

相关内容