65984
Jun 12, 2008, updated at Oct 18, 2012 (UTC)
8829
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
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
Please also mark the comments that contributed to the solution of the article
Content-Key: 89710
Url: https://administrator.de/contentid/89710
Printed on: April 27, 2024 at 02:04 o'clock
5 Comments
Latest comment
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: How can I mark a post as solved?
Grüße
bastla
Schau Dir bitte auch noch folgenden Link an: How can I mark a post as solved?
Grüße
bastla