xlanix
Goto Top

Freier Festplattenspeicher per Batchdatei ermitteln

Hallo,
ich bin noch ein blutiger Anfänger in der Batchprogrammierung und soll nun eine Abfrage erstellen:
- die mir sagt, wieviel Festplattenspeicher noch vorhanden ist
- und wenn das geschafft ist soll es ne Warnung per Mail generieren.

bisher habe ich keinen befehl gefunden der das tut. daher hab ich mir da was zusammen gesetzt:

Dir |findstr /c:"Bytes fre" >tmp.txt

da kommt dann eine Textdatei bei rum die wie folgt aussieht:

8 Verzeichnis(se), 72.803.454.976 Bytes frei

nun will ich nur die 72.803.454.975 als Variable haben, aus der txt datei ausgelesen. Soweit ich weiß gehts mit ner For Schleife, aber die versteh ich nicht. Kann mir da wohl wer helfen?

Vielen Dank im voraus!

Gruß Lani

Content-ID: 94660

Url: https://administrator.de/forum/freier-festplattenspeicher-per-batchdatei-ermitteln-94660.html

Ausgedruckt am: 04.04.2025 um 14:04 Uhr

alex-w
alex-w 18.08.2008 um 11:54:23 Uhr
Goto Top
Hi Lani,


for /f "tokens=3" %%a in (tmp.txt) do (echo %%a) >>size.txt


sollte dir dann in die size.txt den richtigen Wert schreiben.


Gruss Alex
bastla
bastla 18.08.2008 um 14:40:38 Uhr
Goto Top
Hallo -XlaniX- und willkommen im Forum!

Ohne Temporärdateien:
@echo off & setlocal
for /f "tokens=3" %%i in ('dir /-c^|findstr /c:"Bytes frei"') do set "Frei=%%i"  
echo %Frei%
Noch eine Anmerkung: Es könnte schwierig werden, das Ergebnis in Batch (exakt) weiterzuverarbeiten - die größte für Berechnungen verwendbare Zahl ist in Batch nämlich 2147483647 ...

Workaround: Du schneidest einfach eine entsprechende Anzahl von Stellen am Ende ab, etwa:
set KB=%Frei:~,-3%
Für mehr Info: "set /?"

Grüße
bastla
XlaniX
XlaniX 20.08.2008 um 08:36:02 Uhr
Goto Top
Danke für eure schnelle hilfe. das skript läuft ganz wunderbar.