为什么我无法获取网络共享文件夹的大小? by powershell

为什么我无法获取网络共享文件夹的大小? by powershell

我已经知道共享空间路径:\sharespace\test1

我使用此行来获取此路径下的最新更新文件夹:

$lastbuild=get-childitem $var.droppath.TrimEnd()|where-object {$_.name -match "10."} |Sort-Object -Property LastWriteTime -Descending | Select-Object -First 1
$lastbuild.fullname.TrimEnd()

我得到的是\\sharespace\test1\10.0.1212.1

我如何获取此文件夹的大小?我使用了以下代码,但只获取其父路径的总大小\\sharespace\test1

$mapbuild.mapNetworkDrive("u:",$lastbuild.fullname.TrimEnd())

$fsobuild = new-Object -com Scripting.FileSystemObject

$dobuild = $fsobuild.getdrive("u:")

Write-host "Size of latestbuild:"

$dobuild.totalsize

答案1

这看起来正是您所需要的:脚本专家关于获取文件夹大小的文章

我认为需要注意的是,powershell 通常可以本地处理 UNC 路径,因此无需映射驱动器。您应该可以执行以下操作:

$fsobuild = new-Object -com Scripting.FileSystemObject
"{0:N2}" -f (($fsobuild.GetFolder($lastbuild.Fullname).Size) / 1MB) + " MB"

相关内容