sub GetFolderInfo
{
my @dirs = @_;
my (@allfiles, @files, @folders) = ();
my ($currdir, $file, $size, $measurement, $numfolders) = "";
while (@dirs != 0)
{
$currdir = pop( @dirs );
opendir( ENTRIES, "$currdir/" );
@allfiles = readdir( ENTRIES );
closedir( ENTRIES );
foreach $file (@allfiles)
{
if (-d "$currdir/$file")
{
push( @folders, "$currdir/$file" ) if (($file ne ".") && ($file ne ".."));
push( @dirs, "$currdir/$file" ) if (($file ne ".") && ($file ne ".."));
}
else
{
push( @files, "$currdir/$file" );
my $currfile = "$currdir/$file";
my $currsize = -s $currfile;
$size = $size + $currsize;
}
}
}
my $numfiles = @files;
my $numfolders = @folders;
$size = sprintf("%.2f",$size / 1024);
$measurement = "KB";
if ($size > 1024) {$size = sprintf("%.2f",$size / 1024); $measurement = "MB";}
if ($size > 1024) {$size = sprintf("%.2f",$size / 1024); $measurement = "GB - WARNING! THE FOLDER IS WAY TO BIG!";}
$size =~ y/./,/;
return "$size $measurement
$numfiles files
in $numfolders (sub)-folder(s)";
}