5 Einträge, 1 Seite |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin//perl -w
use WIN32::Console;
use strict;
use warnings;
use File::Find::Rule ();
die 'usage: search_empty.pl *directory*'
unless 1 == @ARGV;
my @array = `dir /A:D /B @ARGV`;
for(my $i=0;$i<@array;$i++){
#print "$array[$i]";
my( $size, $files, $folders );
my $rule = File::Find::Rule-> start( @ARGV );
while( my $item= $rule->match )
{
next if $ARGV[0] eq $item;
$size+= -s $item;
-f $item and $files++;
-d $item and $folders++;
}
printf "$Size: %fMb , Files: %d, folders: %d\n"
=> $size / 1024**2, $files, $folders;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin//perl -w
use WIN32::Console;
use strict;
use warnings;
use File::Find::Rule();
die 'usage: dir_z_size.pl *directory*'
unless 1 == @ARGV;
my @array = `dir /A:D /B @ARGV`;
for(my $i=0;$i<@array;$i++){
my( $size, $files, $folders );
my $path = "$ARGV[0]"."$array[$i]";
print "$path";
my $rule = File::Find::Rule->start( $path );
while( my $item = $rule->match )
{
next if $path eq $item;
$size+= -s $item;
-f $item and $files++;
-d $item and $folders++;
}
printf "$path: $size: %fMb, Files: %d, folders: %d\n"
=> $size / 1024**2, $files, $folders;
}
1
2
3
4
5
6
7
8
9
10
11
my $rule = File::Find::Rule->start( $path );
while( my $item = $rule->match )
{
next if $path eq $item;
$size+= -s $item;
-f $item and $files++;
-d $item and $folders++;
}
printf "$path: $size: %fMb, Files: %d, folders: %d\n"
=> $size / 1024**2, $files, $folders;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/perl -w
use strict;
use File::Find;
# startverzeichnis holen
my $dir = shift() || '.';
print "Search in $dir...\n";
my $max = 8; # laenge des laengsten verzeichnisses
# startverzeichnis oeffnen
opendir(my$hDIR, $dir)
or die "Can't open directory '$dir': $!";
# unterverzeichnisse einlesen
my @content = grep {
# vollstaendigen pfad besorgen
my $f = "$dir/$_";
# auf verzeichnis pruefen ( . und .. auslassen )
if (-d $f && !/^\.\.?$/) {
# max. laenge eventuell neu setzen
$max = length($f) if length($f) > $max; 1
}
} readdir($hDIR);
# startverzeichnis schliessen
closedir($hDIR);
# durch die unterverzeichnisse iterieren
foreach my$item (@content) {
# variablen initialisieren
my($path, $size, $files, $folders) = ("$dir\/$item", 0, 0, 0);
# groesse, anzahl dateien und anzahl ordner ermitteln
find(sub { -f && ++$files; -d && !/^\.\.?$/ && ++$folders; $size += -s }, $path);
# groesse auf MB bringen
$size /= 1024**2;
# groesse in 2 stuecke aufteilen
my $s1 = int($size);
my $s2 = $size-$s1;
if (length($s2) > 2)
{ substr($s2, 0, 2) = '' }
else
{ $s2 = 0 }
# ausgabe
printf '%-'.$max.'s Size: %4d.%08.8sMb Files: %4d Folders: %4d %4s'."\n"
=> $path, $s1, $s2, $files, $folders, $size < 1 ? '<1MB' : '';
}
5 Einträge, 1 Seite |