65984
Goto Top

Freier Festplattenspeicher auslesen

Mein Ziel ist es den freien Festplattenspeicher auszulesen.
Meine Variante wird im folgenden erklärt:

In einem kleinen Workaround habe ich schonmal den freien Speicher auslesen können.
Da ich den Wert nicht in bytes sondern in GB oder MB haben möchte, darf die Variable keine Punkte enthalten. Dazu wird Punkt 4. ausgeführt

1.
c:\dir > dir.txt

2.
for /F "Tokens=3" %i in (dir.txt) do Set harddisk=%i

2.1
echo %harddisk%

54.532.403.200

3.
echo %harddisk% >> hdd.txt

4.
for /F "tokens=1,2,3,4,5,6,7 delims=." %i in (hdd.txt) do Set hdd=%i%j%k%l%m%n%o

4.1
echo %hdd%
54532403200

5.
set /a ergebnis=%hdd%/1024

Mit dem set Befehl möchte ich meine Variable %hdd% mit 1024 dividieren, allerdings bekomme ich folgenden Fehler:
Ungültige Zahl. Zahlen sind begrenzt auf eine Genauigkeit von 32 Bits.

Kann mir da jemand weiterhelfen bzw. kennt jemand eine andere Lösung um den freien Festplattenspeicher auszulesen?

Dankeschonmal

Content-ID: 89710

Url: https://administrator.de/contentid/89710

Ausgedruckt am: 23.11.2024 um 09:11 Uhr

bastla
bastla 12.06.2008, aktualisiert am 18.10.2012 um 18:35:51 Uhr
Goto Top
Hallo Azubi-DL!

1. bis 4. lässt sich zwar noch etwas straffen, zB:
for /f "tokens=3" %i in ('dir /-c') do set hdd=%i  
aber das eigentliche Problem ist die Angabe in Bytes - hier wirst Du zumindest eine gewisse Ungenauigkeit in Kauf nehmen (oder zB VBScript verwenden) müssen - wenn Du einfach die letzten 3 Stellen der Variablen %hdd% weg lässt, hast Du (ziemlich ungenaue) KB:
set /a ergebnis=%hdd:~,-3%
Ansonsten siehe zB hier ...

Grüße
bastla
65984
65984 12.06.2008 um 16:55:47 Uhr
Goto Top
Die letzten drei Stellen wegzustreichen hab ich schon überlegt aber dann ist die Zahl doch immer noch zu groß oder?

Schau mir aufjedenfall deine Links an.

Danke für die Antwort


Gruß Azubi-DL
65984
65984 13.06.2008 um 10:40:31 Uhr
Goto Top
Super klappt. Hab die Variante genommen hinten einfach 3 stellen abzuziehen und dividier dann mit 1024^2 so komm ich auf meine GB...

Vielen DANK;)
bastla
bastla 13.06.2008 um 13:58:12 Uhr
Goto Top
Hallo Azubi-DL!

Schau Dir bitte auch noch folgenden Link an: Wie kann ich einen Beitrag als gelöst markieren? face-wink

Grüße
bastla
65984
65984 13.06.2008 um 14:21:07 Uhr
Goto Top
Sorry bin neu hier und wusste das nicht...

Danke face-smile