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-Key: 94660

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

Printed on: April 20, 2024 at 01:04 o'clock

Member: alex-w
alex-w Aug 18, 2008 at 09:54:23 (UTC)
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
Member: bastla
bastla Aug 18, 2008 at 12:40:38 (UTC)
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
Member: XlaniX
XlaniX Aug 20, 2008 at 06:36:02 (UTC)
Goto Top
Danke für eure schnelle hilfe. das skript läuft ganz wunderbar.