在 C:\ 驱动器上递归列出目录时出错

Error while listing directories recursively on C:\ drive

我正在尝试使用 PowerShell 列出我 windows 系统上的每个文件,包括 dll、exe、驱动程序列表等。

下面列出了 只有 名为 "Users"

的特定文件夹
Get-ChildItem C:\Users -Recurse | Select-Object DirectoryName,Name |Where { $_.DirectoryName -ne $NULL } | Export-CSV C:\Filelist.csv

它仅提供用户文件夹中的文件列表,当我尝试列出 C 驱动器下的所有文件时出现错误,按照我的目标使用以下命令:

Get-ChildItem C:\ -Recurse | Select-Object DirectoryName,Name | Where { $_.DirectoryName -ne $NULL } | Export-CSV C:\Filelist.csv

我收到此错误:

ERROR : Get-ChildItem : Access to the path ‘C:\Windows\CSC\v2.0.6’ is denied.
At line:1 char:14
+ Get-Childitem <<<< C:\ -Recurse | Select-Object DirectoryName,Name | Where { $_.DirectoryName -ne $NULL } | Export-CSV C:\Filelist.csv
    + CategoryInfo : PermissionDenied: (C:\Windows\CSC\v2.0.6:String) [Get-ChildItem], UnauthorizedAccessException
    + FullyQualifiedErrorId : DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand

如何列出我系统上的整个 C驱动器或包括dll、脚本、exe在内的所有文件并导出到CSV文件?

您必须以 admin 身份执行脚本。您还可以 忽略您无权使用 -ErrorAction 通用参数访问的文件的错误消息

Get-ChildItem C:\ -Recurse -ErrorAction SilentlyContinue | 
    Select-Object DirectoryName,Name |
    Where { $_.DirectoryName -ne $NULL } | 
    Export-CSV C:\Filelist.csv