PowerShell脚本文件夹大小

vfh0ocws  于 2022-11-10  发布在  Shell
关注(0)|答案(1)|浏览(130)

目前,我正在与PowerShell&cmd进行一点练习。我用谷歌搜索了一下,找到了一些脚本,它可以让我在硬盘上找到文件夹的大小。我得到了一些结果,我对它很满意,但现在我想看看某个子文件夹的文件夹大小,并想在所有文件夹和只有一个文件夹的子文件夹之间做出决定。
目前我听不懂所有的命令,所以你们能帮我一点忙吗?我怎样才能顺利完成这个项目?

Set-Location c:\users\
$fso = new-object -com Scripting.FileSystemObject
$folderlist = gci -Directory `
 | select @{l='Size'; e={$fso.GetFolder($_.FullName).Size}},FullName `
  | sort Size -Descending `
  | ft @{l='Size [GB]'; e={'{0:N2}    ' -f ($_.Size / 1GB)}},FullName
$folderlist
nkoocmlb

nkoocmlb1#

我不知道这是不是你想要的,但试试这个。
它直接从https://devblogs.microsoft.com/scripting/weekend-scripter-use-powershell-to-get-folder-sizes/中提取

Function Get-FolderSize {
    BEGIN{$fso = New-Object -comobject Scripting.FileSystemObject}
    PROCESS{
        $path = $input.fullname
        $folder = $fso.GetFolder($path)
        $size = $folder.size
    if ($Size -gt 500000) {   # Anything smaller than 500 K, don't print the folder name
        [PSCustomObject]@{‘Name’ = $path;’Size (GB)’ = ("{0:n2}" -f ($Size/1GB)) }
    }

gci -Directory -Recurse -EA 0 | Get-FolderSize | sort size -Descending

无论从哪个文件夹运行,您都会看到每个子文件夹及其大小。
如果您想要捕获每个文件夹的总大小,只需稍作调整
如果在c:\root文件夹中运行此命令,则需要一段时间才能显示任何输出。首先在c:\User或c:\Program Files下运行测试

相关问题