Auslesen wieviel Platz ist auf der Festplatte
hi,
folgendes Problem habe ich.
Ich erstelle ein Backup der Daten eines Kunden auf eine externe Festplatte. Mit dem Programm Backup Maker von ASCOMP. Funktioniert wunderbar, nur wenn die externe Festplatte voll ist, bleibt die Fortschrittanzeige einfach stehen. Ohne Fehlermeldung. Der Kunde wusste nicht das die Platte voll ist.
Ich benötige also ein Skript das den Kunden informiert: auf der Platte sind nur noch xy Gb frei, bitte bereinigen sie den Datenträger. Also ähnlich wie die Meldung von Windows mit dem C Laufwerk. Wieviel noch frei ist sehr wichtig.
Es gibt wahrscheinlich auch eine bessere Lösung, ich weiß es nicht. Ich möchte eigentlich kein anderes Programm benutzen, wenn es nicht zwingend notwendig ist. Wenn es so nicht zu lösen ist.
Ich bendanke mich im vorraus für eure Unterstützung.
Gruß Marco
folgendes Problem habe ich.
Ich erstelle ein Backup der Daten eines Kunden auf eine externe Festplatte. Mit dem Programm Backup Maker von ASCOMP. Funktioniert wunderbar, nur wenn die externe Festplatte voll ist, bleibt die Fortschrittanzeige einfach stehen. Ohne Fehlermeldung. Der Kunde wusste nicht das die Platte voll ist.
Ich benötige also ein Skript das den Kunden informiert: auf der Platte sind nur noch xy Gb frei, bitte bereinigen sie den Datenträger. Also ähnlich wie die Meldung von Windows mit dem C Laufwerk. Wieviel noch frei ist sehr wichtig.
Es gibt wahrscheinlich auch eine bessere Lösung, ich weiß es nicht. Ich möchte eigentlich kein anderes Programm benutzen, wenn es nicht zwingend notwendig ist. Wenn es so nicht zu lösen ist.
Ich bendanke mich im vorraus für eure Unterstützung.
Gruß Marco
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 45410
Url: https://administrator.de/forum/auslesen-wieviel-platz-ist-auf-der-festplatte-45410.html
Ausgedruckt am: 22.04.2025 um 08:04 Uhr
2 Kommentare
Neuester Kommentar
Moin marco,
Du kannst zwar per Batch (über DIR oder DIRUSE oder CHKDSK) an die Freespace-Angaben kommen, aber alle drei Varianten sind s...suboptimal.
- DIR formatiert die Anzeige des freien Platzes in Bytes--->ist albern
- ChkDsk ist vielleicht nicht erlaubt und stinkelangsam
- DirUse ist (in der M$-Variante) nichts, was man/frau freiwillig anfassen sollte.
Daher meine Empfehlung: ein kurzer VBS-Dreizeiler, der ggf. im Batch selbst erzeugt wird und als einzige Info den freien Platz in GByte zurückgibt.
Der VBS-Dreizeiler:
Diesen Code kannst Du in Deinem Batch mit
erzeugen und rufst ihn dann aus dem Batch so auf:
...wobei der Parameter C: natürlich auch D:, E: ... sein kann.
Sorry, muss mich kurz fassen...ist Mittach jetzt.
Gruß
Biber
[Edit] Nachtrag:
Zwei Sachen sind mir noch in der Kantine eingefallen:
- die momentane Rückgabe ist natürlich in MByte und nicht in GByte... ggf. also noch einmal durch 1024 teilen.
- ich hätte lieber vor dem Rechner bleiben sollen anstatt das Betriebsrestaurant aufzusuchen *grusel*
[/Edit]
Du kannst zwar per Batch (über DIR oder DIRUSE oder CHKDSK) an die Freespace-Angaben kommen, aber alle drei Varianten sind s...suboptimal.
- DIR formatiert die Anzeige des freien Platzes in Bytes--->ist albern
- ChkDsk ist vielleicht nicht erlaubt und stinkelangsam
- DirUse ist (in der M$-Variante) nichts, was man/frau freiwillig anfassen sollte.
Daher meine Empfehlung: ein kurzer VBS-Dreizeiler, der ggf. im Batch selbst erzeugt wird und als einzige Info den freien Platz in GByte zurückgibt.
Der VBS-Dreizeiler:
'...temporärer GetFreeSpace.vbs-Schnipsel
Set FSO = CreateObject("scripting.FileSystemObject")
Set myDrive = FSO.GetDrive(wscript.arguments(0))
wscript.echo int(myDrive.freeSpace/(1024 *1024))
Diesen Code kannst Du in Deinem Batch mit
echo [Zeile-für-Zeile]>>%temp%\GetFreeSpace.vbs
for /f %%i in ('cscript //nologo %temp%\GetFreeSpace.vbs C:') do set "FS_C=%%i"
...wobei der Parameter C: natürlich auch D:, E: ... sein kann.
Sorry, muss mich kurz fassen...ist Mittach jetzt.
Gruß
Biber
[Edit] Nachtrag:
Zwei Sachen sind mir noch in der Kantine eingefallen:
- die momentane Rückgabe ist natürlich in MByte und nicht in GByte... ggf. also noch einmal durch 1024 teilen.
- ich hätte lieber vor dem Rechner bleiben sollen anstatt das Betriebsrestaurant aufzusuchen *grusel*
[/Edit]