Powershell获取当前文件夹内所有一级子文件夹大小
需求:查看Windows某个文件夹所有一级子文件夹大小,并按照从大到小排序
解决方案:使用Powershell脚本
脚本内容如下
function filesize ()
{
[string]$filepath =".\"
$sortedlength = @{ }
$sorted = @{ }
if ($filepath -eq $null)
{
throw "路径不能为空"
}
dir -Path $filepath |
ForEach-Object -Process {
if ($_.psiscontainer -eq $true)
{
$length = 0
$name=$_.name
dir -Path $_.fullname -Recurse | ForEach-Object{
[long]$length += $_.Length
}
$sortedlength.Add($name,$length)
}
}
$sorted=$sortedlength.GetEnumerator() | Sort-Object value -Descending
foreach ($a in $sorted.GetEnumerator())
{
if ($a.Value -ge 1GB)
{
$l = $a.Value/1GB
$a.Key + "文件夹的大小为: {0:n1} GB" -f $l
}
elseif ($a.Value -ge 1MB)
{
$l = $a.Value/1MB
$a.Key + "文件夹的大小为: {0:n1} MB" -f $l
}
else
{
$l = $a.Value/1KB
$a.Key + "文件夹的大小为: {0:n1} KB" -f $l
}
}
}
filesize | out-file .\文件大小.txt
使用方式
1. 到指定目录新建文本文档,将以上代码保存到文档
2. 将文本文档保存为.ps1格式,编码选择UTF-8 BOM(如果没有BOM选项,选择UTF-8)
3. 右键执行
如遇到报错无法加载文件 XXX.ps1,因为在此系统上禁止运行脚本
需要以管理员身份执行Powershell脚本Set-ExecutionPolicy Bypass,之后再次执行
4. 执行完成后会在当前文件夹创建一个文件大小.txt的文本文档,如图所示
以上
好了,本文就介绍到这里了,感谢您的观看
本文来自博客园,作者:{xunjing2},转载请注明原文链接:
标签:
Powershell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!