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

[玩转系统] 如何在 Windows 11/10 中使用 PowerShell 获取文件夹大小

作者:精品下载站 日期:2024-12-14 22:45:01 浏览:15 分类:玩电脑

如何在 Windows 11/10 中使用 PowerShell 获取文件夹大小


通常,在基于 Windows 的 PC 上,您只需右键单击项目或文件夹,然后从上下文菜单中选择“属性”即可检查项目或文件夹的大小。在这篇文章中,我们将向您展示在 Windows 11/10 中如何使用 PowerShell 检查或获取文件夹大小

[玩转系统] 如何在 Windows 11/10 中使用 PowerShell 获取文件夹大小

如果项目或文件夹的大小明显较大(例如大于 100 GB),您可能希望使用 PowerShell 而不是传统方式来获取文件夹。在这种情况下,使用传统方法可能需要一段时间文件夹属性窗口才能最终填充项目的大小 - 更重要的是,显示的可能不是文件夹的实际大小。

如何在 Windows 11/10 中使用 PowerShell 获取文件夹大小

出于某种原因,您可能需要文件夹的大小 - 例如,估计移动文件夹(到本地驱动器、外部驱动器或云存储上的另一个位置)或移动文件夹所需的时间或持续时间一个大文件夹,只需删除它即可释放硬盘空间 - 您可以使用 PowerShell 立即获取文件夹/目录的大小。我们将在以下小标题下讨论这个主题。

  1. 用于获取文件夹大小的 PowerShell 命令

  2. 获取文件夹大小(以字节、MB 和 GB 为单位)

  3. 获取文件夹大小(十进制)

  4. 获取特定文件类型项目的大小

  5. 获取文件夹和子文件夹大小

  6. 使用时间过滤器获取文件夹和子文件夹大小

  7. 使用 PowerShell 脚本获取所有子目录文件夹大小

1. PowerShell命令获取文件夹大小

以下是 2 个主要的 PowerShell cmdlet,可与开关和参数一起使用,以根据您的要求过滤结果以获取文件夹的大小。

  • Get-ChildItem(别名:GCI) - 此命令从一个或指定目录(包括子目录)获取信息 - 不显示或显示空目录。

  • Measure-Object(别名:measure)——此命令计算指定目录的不同属性,包括其大小。

别名是命令的替代名称,因此您不必每次都输入整个命令。

2. 获取文件夹大小(以字节、MB 和 GB 为单位)

该 cmdlet 将仅获取指定文件夹及其内部项目的大小,结果将不包括子目录内项目的大小。例如,我们将运行命令来获取 PC 上的 C:\Users\Chidum.Osabalu\Documents\TWC_lated 文件夹的大小。将 PathToFolder 占位符替换为您要获取其大小的文件夹/目录的完整路径。

文件夹大小(以字节为单位)

[玩转系统] 如何在 Windows 11/10 中使用 PowerShell 获取文件夹大小

Get-ChildItem PathToFolder | Measure-Object -Property Length -sum

文件夹大小(以 MB 为单位)

[玩转系统] 如何在 Windows 11/10 中使用 PowerShell 获取文件夹大小

(gci PathToFolder | measure Length -s).sum / 1Mb

文件夹大小(以 GB 为单位)

[玩转系统] 如何在 Windows 11/10 中使用 PowerShell 获取文件夹大小

(gci PathToFolder | measure Length -s).sum / 1Gb

“Sum”字段根据具体情况以字节、MB 和 GB 为单位显示文件夹的大小。

3. 获取文件夹大小(十进制)

[玩转系统] 如何在 Windows 11/10 中使用 PowerShell 获取文件夹大小

由于大小有很多小数位,以 MB 和 GB 为单位的文件夹大小的输出乍一看很难理解。因此,您可以运行以下命令将结果四舍五入为小数。将“X”替换为您想要将结果四舍五入到的小数位数,并根据需要指定 GB 或 MB。

"{0:NX} GB" -f ((gci PathToFolder | measure Length -s).sum / 1Gb)

4. 获取特定文件类型项的大小

[玩转系统] 如何在 Windows 11/10 中使用 PowerShell 获取文件夹大小

如果您想获取具有相同文件类型/扩展名的文件夹内所有项目的大小,请运行以下命令。相应地替换文件类型/扩展占位符。

(gci PathToFolder *.FileType/Extension | measure Length -s).sum / 1Gb

5. 获取文件夹和子文件夹大小

[玩转系统] 如何在 Windows 11/10 中使用 PowerShell 获取文件夹大小

要获取文件夹和子文件夹(包括里面的项目)大小,必须使用猜想中使用的-Recurse参数与-ErrorAction SilentlyContinue参数来绕过目录访问诸如权限被拒绝等错误。

要获取父目录和子目录的大小,您可以运行以下任一命令。

(gci PathToFolder -Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb
"{0:NX} GB" -f ((gci -force PathToFolder -Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb)

此 cmdlet 还将包括所有隐藏项目的大小。

6. 使用时间过滤器获取文件夹和子文件夹大小

[玩转系统] 如何在 Windows 11/10 中使用 PowerShell 获取文件夹大小

您可以获取父文件夹和子文件夹的大小,还可以应用过滤器来查找在特定日期、特定月份或特定年份创建的项目的大小。您可以通过指定开始日期和结束日期来定义,这些日期分别由 -gt(大于)和 -lt(小于)参数定义。日期的格式为 MM/DD/YY。

要获取在特定时间段内创建的包含子文件夹的文件夹的大小,请运行以下命令。相应地替换 MM/DD/YY 占位符。

(gci -force PathToFolder -Recurse -ErrorAction SilentlyContinue | ? {$_.CreationTime -gt ‘MM/DD/YY’ -AND $_.CreationTime -lt ‘MM/DD/YY’}| measure Length -s).sum / 1Gb

您还可以使用前面给出的命令应用这些过滤器,以仅获取父文件夹的文件夹大小。

7.使用PowerShell脚本获取所有子目录文件夹大小

现在,为了让事情变得更复杂,我们假设您必须获取文件夹内每个子目录的大小。这也可以使用 PowerShell 来完成。当然,要获取所有子目录文件夹大小(包括子目录内项目的大小)并以简洁的表格格式呈现,您可以使用下面的代码创建并运行 PowerShell 脚本。

$targetfolder='DriveLetter:\'
$dataColl = @()
gci -force $targetfolder -ErrorAction SilentlyContinue | ? { $_ -is [io.directoryinfo] } | % {
$len = 0
gci -recurse -force $_.fullname -ErrorAction SilentlyContinue | % { $len += $_.length }
$foldername = $_.fullname
$foldersize= '{0:N2}' -f ($len / 1Gb)
$dataObject = New-Object PSObject
Add-Member -inputObject $dataObject -memberType NoteProperty -name “foldername” -value $foldername
Add-Member -inputObject $dataObject -memberType NoteProperty -name “foldersizeGb” -value $foldersize
$dataColl += $dataObject
}
$dataColl | Out-GridView -Title “Size of all subdirectories in DriveLetter drive”

相应地替换上面代码中的 DriveLetter 占位符,并确保打开 PowerShell 脚本执行。

就是这样!

有没有办法查看 Windows 中文件夹的大小?

检查文件夹大小的传统方法是打开文件资源管理器,然后右键单击要查看大小的文件、文件夹或驱动器。从出现的菜单中,选择“属性”,您将看到文件/驱动器的总大小。执行相同任务的非常规方法是使用 PowerShell,正如我们在上面的这篇文章中演示的那样。

列出文件夹及其大小的 DOS 命令是什么?

dir 命令显示有关文件和目录以及可用磁盘空间的信息。默认情况下,该命令显示当前目录中每个文件的名称、大小和最后修改时间。

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

取消回复欢迎 发表评论:

关灯