Zum Inhalt springen

Batch Datei: Gesamt/Belegte Speicher eines Laufwerks


Empfohlene Beiträge

Geschrieben

Hi,

ich nutze in einer Batch Datei den "dir C: /-c" Befehl um den FREIEN Speicher als Bytes zu erhalten.

Aber wie bekomme ich (möglichst ohne Zusatztools, nur mit Hilfe der normalen unter Windows >= XP), den GESAMTEN, oder den BELEGTEN Speicher eines Laufwerks? (kann man ja umrechnen:-))

Gruß

Davidy

Geschrieben

Mit einem VB-Script:

'--------------------------------------------------------------------

' Description

'--------------------------------------------------------------------


' Reports the size and free disk space of each drive from the current Computer


'--------------------------------------------------------------------

' Declarations

'--------------------------------------------------------------------


Option Explicit

'On Error Resume Next


const bytesToMB = 1048576

const bytesToGB = 1073741824

const bytesToTB = 1099511627776


'--------------------------------------------------------------------

' Variables

'--------------------------------------------------------------------


Dim strComputer: strComputer = "."


'---------------------------------------------------------------------

' Script

'---------------------------------------------------------------------


Dim objWMIService: Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Dim colItems: Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk")


Dim objItem

For Each objItem In colItems

	If objItem.Size > 1 Then

		If objItem.FreeSpace > 0 Then

			WScript.Echo objItem.Name & " " & ConvertToDiskUnit(objItem.Size) & " (" & ConvertToDiskUnit(objItem.FreeSpace) & " Free)"

		End If

	End If

Next


'---------------------------------------------------------------------

' Function

'---------------------------------------------------------------------


Function ConvertToDiskUnit(value) 

	IF (value/bytesToTb) > 1 THEN

		ConvertToDiskUnit = round(value/bytesToTB,1) & " TB"

	ELSEIF (value/bytesToGb) > 1 THEN

		ConvertToDiskUnit = round(value/bytesToGB,1) & " GB"

	ELSEIF	(value/bytesToMb) > 1 THEN

		ConvertToDiskUnit = round(value/bytesToMB,1) & " MB"

	ELSE

		Exit Function

	END IF

End Function

Für den belegten, kannst du ja den Freien vom Totalen abziehen.

Guss,

tester2k5

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...