我希望能够查看文件夹的大小(所有内容,包括子文件夹及其内容)。我找不到执行此操作的 powershell 命令,但我不想每次想知道大小时都必须打开 windows 资源管理器。有没有一种简单的方法可以在 powershell 中完成此操作?
答案1
非常确定我是在当天的 Powershell 技巧中得到这个的;记不清了,但我已经用它很长时间了,它非常有用。
"{0:N2}" -f ((Get-ChildItem -path C:\InsertPathHere -recurse | Measure-Object -property length -sum ).sum /1MB) + " MB"
编辑:为了使其更容易使用(这样您不必每次都记住并输入整个内容),您可以将其作为一个功能添加到您的个人资料中,如下所示:
function Get-Size
{
param([string]$pth)
"{0:n2}" -f ((gci -path $pth -recurse | measure-object -property length -sum).sum /1mb) + " mb"
}
然后像任何命令一样使用它:
Get-size C:\users\administrator
答案2
它在 Microsoft Technet 网站上这里
输入:
Get-ChildItem C:\Scripts -recurse | Measure-Object -property length -sum
输出:
Count : 58
Average :
Sum : 1244611
Maximum :
Minimum :
Property : length
答案3
其他人已经发布了很好的答案。如果有人需要更紧凑的版本,你可以使用
ls path/ -r | measure length -s
这是@50-3 的回答:
Get-ChildItem path/ -recurse | Measure-Object -property length -sum
要以 MB 为单位获取输出,请使用@Darian Everett 的方法:
(ls path/ -r | measure length -s).sum/1mb