alias foldersize {
if !$isid { echo -ac info * $!foldersize: This function can only be used as an identifier. | return }
if !$isdir($$1) { echo -ac info * $!foldersize: No such folder $1 | return }
if $0 == 2 && !$istok(b k m g t 3,$2,32) { echo -ac info * $!foldersize: Incorrect parameter. | return }
var %size
if $regex(fsize,$1,/^[a-z]:[\57\134]*$/i) { %size = $disk($1).size }
else { var %objFso = a $+ $ticks, %objFolder = b $+ $ticks | .comopen %objFso Scripting.FileSystemObject
if !$comerr {
.comclose %objFso $com(%objFso,GetFolder,1,bstr*,$1,dispatch* %objFolder)
if $com(%objFolder) { !.echo -q $com(%objFolder,Size,2) | %size = $com(%objFolder).result | .comclose %objFolder }
}
}
return $iif($2,$bytes(%size,$2). [ $+ [ $prop ] ],%size)
}