Ich versuche, eine Batchdatei zu erstellen, um die Gesamtgröße und den freien Speicherplatz des Laufwerks C: \ der Server abzurufen (lokal ausgeführtes Skript). Ich brauche auch, dass die Ausgabe leicht lesbar ist, damit Bytes nicht funktionieren. Daher kann ich eine Befehlszeile verwenden, die eine temporäre .vbs-Datei erstellt.
Das Folgende scheint zu funktionieren, aber die Formatierung / Mathematik ist nicht korrekt.
setlocal
for /f "tokens=6" %a in ('fsutil volume diskfree C: ^| find "of bytes"') do set diskspace=%a
echo wsh.echo FormatNumber(cdbl(%diskspace%)/1024, 0) > %temp%.\tmp.vbs
for /f %a in ('cscript //nologo %temp%.\tmp.vbs') do set diskspace=%a
del %temp%.\tmp.vbs
echo For example %diskspace%
Die obigen Befehle zeigen auch nur freien Speicherplatz an ... Ich möchte auch die Gesamtgröße ... Ich frage mich, ob der folgende Befehl besser zum Abrufen der Informationen geeignet ist:
WMIC LOGICALDISK GET Name,Size,FreeSpace | find /i "C:"
Beachten Sie auch, dass dies direkt in eine Eingabeaufforderung kopiert / eingefügt werden kann (keine Batchdatei - erzwungene Anforderungen). Ich habe die "%%" bereits aus dem obigen Code entfernt.
Hinweis: Muss nativ auf Server 2003+ ausgeführt werden (daher ist Powershell nicht verfügbar, ebenso wie alle Dienstprogramme von Drittanbietern).