65984
12.06.2008, aktualisiert am 18.10.2012
8908
5
0
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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 89710
Url: https://administrator.de/contentid/89710
Ausgedruckt am: 23.11.2024 um 09:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo Azubi-DL!
1. bis 4. lässt sich zwar noch etwas straffen, zB:
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:
Ansonsten siehe zB hier ...
Grüße
bastla
1. bis 4. lässt sich zwar noch etwas straffen, zB:
for /f "tokens=3" %i in ('dir /-c') do set hdd=%i
set /a ergebnis=%hdd:~,-3%
Grüße
bastla
Hallo Azubi-DL!
Schau Dir bitte auch noch folgenden Link an: Wie kann ich einen Beitrag als gelöst markieren?
Grüße
bastla
Schau Dir bitte auch noch folgenden Link an: Wie kann ich einen Beitrag als gelöst markieren?
Grüße
bastla