如何使用 Powershell 查找文件夹的大小?

Jac*_*art 30 powershell

我希望能够看到一个文件夹有多大(所有内容,包括子文件夹及其内容)。我找不到执行此操作的 powershell 命令,但我不想每次想知道大小时都必须打开 Windows 资源管理器。有没有一种简单的方法可以从 Powershell 中完成此操作?

Dar*_*ett 36

很确定我是从当天的 Powershell 提示中得到的;记不清了,但我已经使用它很长时间了,它非常有用。

"{0:N2}" -f ((Get-ChildItem -path C:\InsertPathHere -recurse | Measure-Object -property length -sum ).sum /1MB) + " MB"
Run Code Online (Sandbox Code Playgroud)

编辑:为了使其更易于使用(因此您不必每次都记住并输入整个内容),您可以将其作为函数添加到您的个人资料中,如下所示:

function Get-Size
{
 param([string]$pth)
 "{0:n2}" -f ((gci -path $pth -recurse | measure-object -property length -sum).sum /1mb) + " mb"
}
Run Code Online (Sandbox Code Playgroud)

然后像任何命令一样使用它:

Get-size C:\users\administrator
Run Code Online (Sandbox Code Playgroud)

  • `{0:N2}` 有什么作用? (3认同)
  • 你可以 。如果您进行了更改并且不想重新启动 PS 会话,请提供您的配置文件,但它会在您每次启动 Powershell 时自动加载,因此您通常不会这样做。要首次创建您的个人资料,请执行以下操作: ni $profile -type f -fo 然后您可以打开并编辑您的个人资料。要找到它所在的位置,只需在 shell 中键入 $profile 即可显示路径。然后您添加的任何功能,例如上面的功能,都可以像内置一样使用。也感谢您提供代码格式化提示 (2认同)
  • 您需要使用“-force”来列出隐藏文件。您可以将单位作为标记化字符串“{0:N2} MB”的一部分,以避免字符串串联。 (2认同)

50-*_*0-3 9

这是对Microsoft TechNet站点这里

输入:

Get-ChildItem C:\Scripts -recurse | Measure-Object -property length -sum
Run Code Online (Sandbox Code Playgroud)

输出:

Count    : 58
Average  :
Sum      : 1244611
Maximum  :
Minimum  :
Property : length
Run Code Online (Sandbox Code Playgroud)