perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 22
Click for quality!




10.02.2012 / 19:39

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragSpeicherplaz
Seitenanfang
Hallo,
ich möchte wissen wie viel speicherplaz auf C: zum beispiel noch frei ist. wie könnte ich dass bitte auslesen.

ich habe das durch das dir Befehl und in einem Filehandel alles gelöscht bis Dir(s) dann satand da:
......Dir(s) 106.754.236.416 bytes free

es hat schon gut funktioniert auf viele PCs aber nicht auf einem Deutschen PC.

wie könnte ich das dann anders lösen??

Danke euch.

Datum: 10.08.2007-15:23

Beitragre: Speicherplaz
Seitenanfang
Hmmm,
screenscraping ist eben sprachabhängig... Bei einem deutschen Rechner heisst die Zeile dann " 10 Verzeichnis(se), 5.977.751.552 Bytes frei". Wenn Du es im Englischen geschafft hast, solltest Du nur die Regex anpassen müssen.

Ich würde aber lieber http://search.cpan.org/~mblaz/Win32-DriveInfo-0.06/DriveInfo.pm versuchen.

Gruss,
svenxy

Datum: 13.08.2007-16:23

Beitragre: Speicherplaz
Seitenanfang
so würde es auch gehen:


use strict;

open(DIR, 'dir|') or die "Konnte nicht aus Befehl dir lesen: $!";

my @lines = <DIR>;

close DIR;

my @space = split(/\s+/, $lines[-1]);

print $space[3], "\n";

aber wie gesagt, screenscraper sind immer mit Vorsicht zu geniessen...

Datum: 13.08.2007-16:55

Beitragre: Speicherplaz
Seitenanfang
so habe ich es auch gelöst aber habe angst dass irgendwann die Zeile anders aussieht.
[code]
#anfang_sub
my(@arr) = @_; # Input
my ($line, $limit, $cont); # Local
my($label, $yes, $no, @table);
system('DIR C: > C:\InstallerDIR.txt'); # check free space (Comandwindow)
# > InstallerDIR.txt (Write).
# > InstallerDIR.txt (Write).
open(FH, "< C:\\InstallerDIR.txt") or die "can't open inputfile: $!\n";
# just read or "can't open inputfile"
@table = <FH>; # reads DATEI an writes it in @table
$line = $table[-1];
$line =~ s/^.*\)(.*)byte.*$/$1/;
$line =~ s/^[\s\t]+//;
close FH;
system("del C:\\InstallerDIR.txt"); # delete InstallerDIR.txt
$line =~ y/0-9//cd; # delete Complement of Numbers
$limit=100; # Minimum 100 MB
$line /= (10**6); # from bytes to MB
$line = sprintf "%2.3f", $line; # round on 3 spaces after comma
print "\n\n\nOnly $line MB available!!!\n\n\n";
........
....
#endsub

Datum: 14.08.2007-11:09

Beitragre: Speicherplaz
Seitenanfang
es hat funktioniert danke euch.
die beiden Lösungen sind gut.

Datum: 15.08.2007-09:21

-






-
-