Warnung bei zu wenig freiem Speicher
Hallo zusammen,
wie müsste man eine Batch Datei anlegen, die einen warnt, wenn auf Laufwerk X:\ nur noch 10GB frei sind? Ich würde die dann halbstündlich per Taskplaner starten lassen, und eine Funktion einbauen, die mir dann per Mail Bescheid gibt.
Wie ich jedoch eben diese Prüfung anfangen soll, dazu fehlt mir momentan noch der Ansatz... Gibt es eine Funktion, die den freuen Speicher eines Laufwerks anzeigt? Dann könnt man ja mit
IF %speicher% LSS 10000 goto...
hantieren?!
Vielen Dank!
wie müsste man eine Batch Datei anlegen, die einen warnt, wenn auf Laufwerk X:\ nur noch 10GB frei sind? Ich würde die dann halbstündlich per Taskplaner starten lassen, und eine Funktion einbauen, die mir dann per Mail Bescheid gibt.
Wie ich jedoch eben diese Prüfung anfangen soll, dazu fehlt mir momentan noch der Ansatz... Gibt es eine Funktion, die den freuen Speicher eines Laufwerks anzeigt? Dann könnt man ja mit
IF %speicher% LSS 10000 goto...
hantieren?!
Vielen Dank!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 65648
Url: https://administrator.de/contentid/65648
Ausgedruckt am: 22.11.2024 um 18:11 Uhr
7 Kommentare
Neuester Kommentar
Falls zur Hand, empfehle ich:
c't 18/06, Seite 200
c't 18/06, Seite 200
Hallo MISTAX,
das duerfte den Zweck erfuellen. Die Batch gibt nur ein echo aus, wenn der Speicher weniger als 10GB beträgt. Wenn auch eine Ausgabe kommen soll wenn der Speicher ueber 10GB beträgt, dann einfach die zwei doppelpunkte in der letzten zeile vor dem echo entfernen. Um zu sehen was mit der Variablen "%freierspeicher%" passiert, must du die zwei doppelpunkte vor den anderen echos auch noch entfernen.
Die Batch funktioniert nicht wenn sie sich im Stammverzeichnis von C: oder D: usw. befindet.
Um das zu fixen must du in der ersten Codezeile
DIR "?"
durch
DIR "*"
ersetzen.
[Edit]
-um paulepanks Info ergaenzt
-if "%freierspeicher%" == "" wird nun als weniger als 10GB ausgegeben.
[Edit]
Gruesse, wobleibtdiezeit
das duerfte den Zweck erfuellen. Die Batch gibt nur ein echo aus, wenn der Speicher weniger als 10GB beträgt. Wenn auch eine Ausgabe kommen soll wenn der Speicher ueber 10GB beträgt, dann einfach die zwei doppelpunkte in der letzten zeile vor dem echo entfernen. Um zu sehen was mit der Variablen "%freierspeicher%" passiert, must du die zwei doppelpunkte vor den anderen echos auch noch entfernen.
Die Batch funktioniert nicht wenn sie sich im Stammverzeichnis von C: oder D: usw. befindet.
Um das zu fixen must du in der ersten Codezeile
DIR "?"
durch
DIR "*"
ersetzen.
@echo off
for /f "tokens=3" %%i in ('DIR "?" /-c 2^>nul^|find "Verzeichnis(se),"') do set freierspeicher=%%i& set laufwerksbuchstabe=%~d0
::echo "%freierspeicher%"& pause
set "freierspeicher=%freierspeicher:~-12,-6%
::echo "%freierspeicher%"& pause
if "%freierspeicher%" == "" echo Laufwerk %laufwerksbuchstabe%\ hat weniger als 10 GB freien Speicher.& pause >nul& goto :eof
if %freierspeicher% LSS 10000 echo Laufwerk %laufwerksbuchstabe%\ hat weniger als 10 GB freien Speicher.& pause >nul& goto :eof
::echo Laufwerk %laufwerksbuchstabe% hat mehr als 10 GB freien Speicher.& pause >nul
[Edit]
-um paulepanks Info ergaenzt
-if "%freierspeicher%" == "" wird nun als weniger als 10GB ausgegeben.
[Edit]
Gruesse, wobleibtdiezeit
nein eben nicht. deshalb hab ich dir die grad mal geschrieben...
Die dort vorgestellte Lösung nutzt den Leistungsmonitor. Beim Überschreiten der gewünschten Schwellwerte wird dann eine E_Mail gesendet.
Hallo paulepank
danke fuer den Hinweis
Gruesse, wobleibtdiezeit
danke fuer den Hinweis
Gruesse, wobleibtdiezeit