我想查看文件夹中子文件夹的大小,类似于linux du -sh
命令。如何在命令提示符下列出目录及其大小?
PS我发现这个免费的小软件也很有用windirstat.info
—
giorgio79
我想查看文件夹中子文件夹的大小,类似于linux du -sh
命令。如何在命令提示符下列出目录及其大小?
Answers:
尝试从Sysinternals中使用 “ 磁盘使用情况”实用程序。具体来说,du -l 1
应显示当前目录中每个子目录的大小。有关更多信息,请在du
不使用任何参数的情况下运行。
如果PowerShell正常,请尝试以下操作:
Get-ChildItem |
Where-Object { $_.PSIsContainer } |
ForEach-Object {
$_.Name + ": " + (
Get-ChildItem $_ -Recurse |
Measure-Object Length -Sum -ErrorAction SilentlyContinue
).Sum
}
大小以字节为单位。要将它们格式化为更大的单位(例如MB),请尝试以下操作(压缩为一行):
Get-ChildItem | Where-Object { $_.PSIsContainer } | ForEach-Object { $_.Name + ": " + "{0:N2}" -f ((Get-ChildItem $_ -Recurse | Measure-Object Length -Sum -ErrorAction SilentlyContinue).Sum / 1MB) + " MB" }
有关更多信息,请参见Technet上的本文。
如果您要更灵活地设置大小格式(根据实际大小选择kB / MB / GB / etc),请参阅此问题及其答案。
我认为仅通过几个简单的命令就无法从常规命令行执行您想要的操作。请以该脚本为例(不要在这里复制它,因为我认为这种方法不值得追求,除非无法使用PowerShell并且不接受第三方实用程序)。
我没有使用du
Linux的经验。但是在Windows中,我dir /s
用来列出所有文件夹和子文件夹以及文件大小。
/S
开关不显示目录的大小,它只是使命令递归遍历所有的子目录。