当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何使用 PowerShell 查找计算机上的大文件

作者:精品下载站 日期:2024-12-14 20:00:58 浏览:17 分类:玩电脑

如何使用 PowerShell 查找计算机上的大文件


当系统警告您本地驱动器上的可用空间即将耗尽时,管理员要做的第一件事就是尝试查找所有占用大量空间的大文件。要搜索新文件,您可以使用 Windows 资源管理器(有几个按大小搜索的预定义模板)、您最喜欢的文件管理器或第三方工具。然而,与 PowerShell 不同的是,所有这些工具都需要安装。让我们考虑使用 PowerShell 快速搜索本地计算机驱动器上的大文件的示例。

您可以使用 Get-ChildItem cmdlet 列出特定目录(包括子文件夹)中的文件及其大小。该 cmdlet 可以在整个磁盘或特定文件夹中(例如,在用户配置文件和任何其他文件夹中)搜索文件。

让我们列出磁盘 C:\ 上最大的 10 个文件:

Get-ChildItem c:\ -r| sort -descending -property length | select -first 10 name, Length

根据磁盘大小及其上的文件数量,完成该命令可能需要一些时间。

-r(递归)键表示将递归搜索所有子文件夹。您可以使用-深度参数将检查限制在特定深度级别。 如果不指定路径,则会搜索当前目录的所有子文件夹。

[玩转系统] 如何使用 PowerShell 查找计算机上的大文件

正如您所看到的,我们得到了磁盘上按降序排列的十个最大文件的列表。

提示。即使使用管理员权限访问某些目录时,Get-ChildItem cmdlet 也可能返回访问被拒绝错误:

Get-ChildItem : Access to the path 'C:\Windows\CSC' is denied.
At line:1 char:1
+ Get-ChildItem c:\ -r| sort -descending -property length | select -fir ...
+ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (C:\Windows\CSC:String) [Get-ChildItem], UnauthorizedAccessException
+ FullyQualifiedErrorId : DirUnauthorizedAccessError,Microsoft.PowerShell.Commands.GetChildItemCommand

要抑制此类错误,请使用-ErrorAction SilentlyContinue参数

使用-Force选项显示用户无法访问的隐藏文件和系统文件。

[玩转系统] 如何使用 PowerShell 查找计算机上的大文件

如您所见,文件大小以字节为单位显示。为了方便起见,可以将它们转换为兆字节。您还可以显示存储找到的文件的文件夹:

Get-ChildItem c:\ -r -ErrorAction SilentlyContinue -Force |sort -descending -property length | select -first 10 name, DirectoryName, @{Name="MB";Expression={[Math]::round($_.length / 1MB, 2)}}

[玩转系统] 如何使用 PowerShell 查找计算机上的大文件

可以使用 Out-GridView cmdlet 将生成的表格转换为方便的图形表格:

Get-ChildItem c:\ -r|sort -descending -property length | select -first 10 name, DirectoryName, @{Name="MB";Expression={[Math]::round($_.length / 1MB, 2)}} | Out-GridView

[玩转系统] 如何使用 PowerShell 查找计算机上的大文件

同样,您可以查找大于特定大小(例如 500 MB)的所有文件:

$size=500*1024*1024
GCi C:\ -recurse -ErrorAction SilentlyContinue -Force | where-object {$_.length -gt $size} | Sort-Object length | ft fullname

您可以将文件列表导出到 CSV 文件,如下所示:

GCi C:\ -recurse | where-object {$_.length -gt $size} | Sort-Object length | ft fullname | Export-Csv c:\pc\LargeFiles_Report.csv

如果您需要计算特定目录中所有文件的大小,请阅读文章使用 PowerShell 计算文件夹大小。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯