需求:查看Windows某個文件夾所有一級子文件夾大小,並按照從大到小排序 解決方案:使用Powershell腳本 腳本內容如下 function filesize () { [string]$filepath =".\" $sortedlength = @{ } $sorted = @{ } if ...
需求:查看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},轉載請註明原文鏈接: