biohazard261
Cadet 4th Year
- Registriert
- Aug. 2011
- Beiträge
- 81
Hallo Zusammen,
ich bin total neu im batch scripting und soll ein Möglichkeit finden mittels Batch Skript den freien Speicher eines Netzlaufwerks auszulesen und z.B. mit Datum und Zeit in einer csv zu speichern. Der Speicher soll dabei in GB ausgelesen werden.
Ich habe schon einige Zeit im Netz nach einer Lösung gesucht, die gefundenen funktionierten aber nicht. Bis auf eine:
Die ausgegebene Größe ist aber falsch. es sollten ca 7,5 GB oder bei einem anderen Laufwerk 45 GB ausgegeben werden, aber es kommt ein Wert heraus, der weder der freie, noch belegte, noch Gesamtspeicher ist. Und zusaätzlich sind Datum, Zeit und Größe in der csv nicht durch ein semicolon getrennt.
hoffe mir kann da jemadn helfen.
danke schonmal
ich bin total neu im batch scripting und soll ein Möglichkeit finden mittels Batch Skript den freien Speicher eines Netzlaufwerks auszulesen und z.B. mit Datum und Zeit in einer csv zu speichern. Der Speicher soll dabei in GB ausgelesen werden.
Ich habe schon einige Zeit im Netz nach einer Lösung gesucht, die gefundenen funktionierten aber nicht. Bis auf eine:
REM Keine Ausgaben
@ECHO OFF
REM Variable verz setzen (mit dem Pfad des zu messendem Ordners)
REM Variable groesse auf 0 setzen.
SET verz=I:\TEMP
SET groesse=0
REM Von jeder Datei in dem Ordner (und dem Unterordner) die Dateigröße
REM auslesen und addieren. groesse=Summe aller Dateigrößen
FOR /F "tokens=" %%a IN ('DIR /S /A-D /B %verz%\.*') DO (
SET /A groesse+=%%~za
)
REM Wenn groesse = (GTR) größer als 1073741824 dann
REM handelt es sich um Gigabyte. Nachkomma errechnen
IF /I %groesse% GTR 1073741824 (
SET /A nachkomma=%groesse% %% 1073741824
SET /A groesse/= 1073741824
SET unit=GB
)
REM Wenn groesse größer 1048576 dann handelt es sich um MegaByte
ELSE (
IF /I %groesse% GTR 1048576 (
SET /A nachkomma=%groesse% %% 1048576
SET /A groesse/= 1048576
SET unit=MB
) ELSE (
IF /I %groesse% GTR 1024 (
SET /A nachkomma=%groesse% %% 1024
SET /A groesse/=1024
SET unit=kB
) ELSE (
SET /A nachkomma=0
SET unit=B
)
)
)
REM Ausgabe von Date und Time und groesse in Datei umleiten
echo %DATE% >> H:\csvdatei.txt
echo %TIME% >> H:\csvdatei.txt
ECHO Groesse: %groesse%,%nachkomma:~0,2%%unit% >> C:\csvdatei.txt
Die ausgegebene Größe ist aber falsch. es sollten ca 7,5 GB oder bei einem anderen Laufwerk 45 GB ausgegeben werden, aber es kommt ein Wert heraus, der weder der freie, noch belegte, noch Gesamtspeicher ist. Und zusaätzlich sind Datum, Zeit und Größe in der csv nicht durch ein semicolon getrennt.
hoffe mir kann da jemadn helfen.
danke schonmal