Brauche ein Batch datei zur Überprüfung des freien HDD-speichers in MB
Hallo
Ich möchte vorm kopieren von 2 Files (ca 250mb; in den selben Ordner wo die Batch file liegt) überprüfen, ob genug Speicher vorhanden ist.
Habe schon etwas herumgestöbert aber bin nur auf Beiträge gekommen, die die Zahlenstellen abfragen. Nun könnte ich die Abfrage darauf aufbauen.. sprich: mehr als 1gb frei=kopiervorgang starten sonst--> zu wenig speicher frei.
Ist aber aus meiner Sicht nicht wirklich sinngemäß wenn z.B. 980mb frei sind und ich die files trotzdem nicht kopieren kann.
Denkansätze bisher waren die bits in MB umzurechnen was aber es wird immer der Fehler: "Invalid number. Numbers are limited to 32-bits of precision. " ausgegeben.
der zweite Ansatz war, dass der Wert nicht von links nach rechts eingelesen wird sondern von rechts nach links und man somit sagen könnte: lies 9 stellen aus und überprüfe ob die zahl größer oder kleiner als 250mb ist.
Leider konnte ich bisher weder für den einen noch für den andren Ansatz eine Lösung finden. Vielleicht sind aber beide Ansätze falsch?
Kann mir jemand von euch weiterhelfen?
mfg, Lance
Ich möchte vorm kopieren von 2 Files (ca 250mb; in den selben Ordner wo die Batch file liegt) überprüfen, ob genug Speicher vorhanden ist.
Habe schon etwas herumgestöbert aber bin nur auf Beiträge gekommen, die die Zahlenstellen abfragen. Nun könnte ich die Abfrage darauf aufbauen.. sprich: mehr als 1gb frei=kopiervorgang starten sonst--> zu wenig speicher frei.
Ist aber aus meiner Sicht nicht wirklich sinngemäß wenn z.B. 980mb frei sind und ich die files trotzdem nicht kopieren kann.
Denkansätze bisher waren die bits in MB umzurechnen was aber es wird immer der Fehler: "Invalid number. Numbers are limited to 32-bits of precision. " ausgegeben.
der zweite Ansatz war, dass der Wert nicht von links nach rechts eingelesen wird sondern von rechts nach links und man somit sagen könnte: lies 9 stellen aus und überprüfe ob die zahl größer oder kleiner als 250mb ist.
Leider konnte ich bisher weder für den einen noch für den andren Ansatz eine Lösung finden. Vielleicht sind aber beide Ansätze falsch?
Kann mir jemand von euch weiterhelfen?
mfg, Lance
Please also mark the comments that contributed to the solution of the article
Content-Key: 51119
Url: https://administrator.de/contentid/51119
Printed on: April 25, 2024 at 05:04 o'clock
7 Comments
Latest comment
Dann änderst du das
Die genaue größe kennst nur du.
miniversum
edit:
Wenn dus umbedingt in MB brauchst kanst du ja auch
if %frei% lss 1000000000 echo Zu wenig
eben zuif %frei% lss 250000000 echo Zu wenig
bzw.if %frei% lss 262144000 echo Zu wenig
Die genaue größe kennst nur du.
miniversum
edit:
Wenn dus umbedingt in MB brauchst kanst du ja auch
set /a frei=%frei%/1048576
if %frei% lss 250 echo Zu wenig
davor schrieben.if %frei% lss 250 echo Zu wenig
Moin Lance,
ergänzend zu miniversums Lösung:
zu dem Thema (und auch zu dem Punkt: "CMD.exe kann nicht mit Zahlen >21 GigaByte rechnen") findest Du noch ein paar Beiträge über die Forumssuche.
Die meisten einfach durch Eingabe von "Freespace".
Ein ausführlicher ist dieser: freien Festplattenspeicher über die Kommandozeile abfragen
Grundsätzlich: wähle lieber eins der Utilities, die den Platz in MByte/GByte anzeigen können (DirUse.exe, du.exe , diskpart.exe,...) oder einen VBS-Schnipsel.
Gruss Biber
ergänzend zu miniversums Lösung:
zu dem Thema (und auch zu dem Punkt: "CMD.exe kann nicht mit Zahlen >21 GigaByte rechnen") findest Du noch ein paar Beiträge über die Forumssuche.
Die meisten einfach durch Eingabe von "Freespace".
Ein ausführlicher ist dieser: freien Festplattenspeicher über die Kommandozeile abfragen
Grundsätzlich: wähle lieber eins der Utilities, die den Platz in MByte/GByte anzeigen können (DirUse.exe, du.exe , diskpart.exe,...) oder einen VBS-Schnipsel.
Gruss Biber