Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Kix -> Byte in Megabyte umwandeln

Frage Entwicklung KiXtart

Mitglied: SMHAMK1985

SMHAMK1985 (Level 1) - Jetzt verbinden

19.06.2006, aktualisiert 13.07.2006, 5808 Aufrufe, 9 Kommentare

Hallo,

ich lese mit hilfe von Kix den Freien Festplattenplatz aus. Es wird in Byte wiedergegeben. Gäbe es vielleicht die möglichkeit die in Megabyte umwandelns zulassen?

Hier das Code:
$strComputer = "."
$objWMIService = GetObject("winmgmts:\\"+ $strComputer + "\root\cimv2")
$colItems = $objWMIService.ExecQuery("Select * from Win32_LogicalDisk")


For Each $objItem in $colItems

? "Laufwerk: " + $objItem.Caption
? "Dateisystem: " + $objItem.FileSystem
? "HDD Freier Specher: " + $objItem.FreeSpace + " Byte"
?;;
Next
? "Size: " + $objItem.Size
? "Volume Serial Number: " + $objItem.VolumeSerialNumber
Danke für eure Hilfe

MfG
Mitglied: Dani
19.06.2006 um 09:04 Uhr
Hi,
das musst du selber machen. einfach 2x durch 1024 teilen. So habe ich das mal gelöst. Anders kenn ich das von Kix nix.


Gruß
Dani
Bitte warten ..
Mitglied: SMHAMK1985
19.06.2006 um 09:14 Uhr
Hallo,

wie meinst du es einfach 2x durch 1024? Also rein rechnerisch würde ich es hinbekommen , aber wie müsste ich es ins code einbringen, damit er es in megabyte anzeigt?

Danke

MfG
Bitte warten ..
Mitglied: Leibeigener
19.06.2006 um 09:16 Uhr
genau, geteielt durch 1024².

als beispiel: 31457280 byte : 1024 = 30720 kbyte : 1024 = 30 gb.
Bitte warten ..
Mitglied: Dani
19.06.2006 um 09:20 Uhr
Hi,
also ich würds so machen:
01.
$objItem.Size = ($objItem.Size/1024)/1024

Gruß
Dani
Bitte warten ..
Mitglied: SMHAMK1985
19.06.2006 um 09:49 Uhr
Hi,
also ich würds so machen:
01.
> $objItem.Size = ($objItem.Size/1024)/1024 
02.
> 

Gruß
Dani

Hi,

erstmal Danke für deine Hilfe, aber wo woll ich das denn einfügen?

so arbeitet er nicht richtig irgendwie!?

MfG
Bitte warten ..
Mitglied: Biber
19.06.2006 um 10:28 Uhr
Anmerkung:

Schon richtig, Dani,

aber auch KiX kann IMHO nur mit Zahlen bis 2 hoch 32 -1 "richtig" rechnen, also bis 2.147.483.647 = (fast) 2048 MegaByte.

Das heißt, wenn die Platte/der freie Plattenplatz größer ist als 2 GByte, dann wird es schwierig mit der Division.

Als "Byte-Wert" wird $objItem.FreeSpace richtig angezeigt... aber eben als String behandelt. Bei einer Division käme ein negativer Wert oder 0.

Grüße
Biber
Bitte warten ..
Mitglied: superboh
11.07.2006 um 02:23 Uhr
aber auch KiX kann IMHO nur mit Zahlen bis 2 hoch 32 -1 "richtig" rechnen, also
bis 2.147.483.647 = (fast) 2048 MegaByte.

Das heißt, wenn die Platte/der freie Plattenplatz größer ist als 2 GByte,
dann wird es schwierig mit der Division.

@Biber:
Ja das stimmt mit den 2.147.483.647, das steht so auch in der Doku zu Kix.
Allerdings ... was ich nicht verstehe ... ich ermittle die Grösse der Homeverzeichnisse mit Kix und meines ist momentan 3.663.056.936 (3,41 GB) gross. Genau diesen Wert in Bytes zeigt mir auch der Eigenschafts-Dialog von Windows an.

Hier jetzt das Kix-Schnippsel:

01.
? "ungerundet: "(GetFolderSize(H:)/1024/1024) 
02.
? "gerundet:   "Round((GetFolderSize(H:)/1024/1024),2) 
03.
 
04.
Function GetFolderSize($path) 
05.
    Dim $fso, $fold 
06.
    $GetFolderSize = -3 
07.
    If Exist($path) = 1 
08.
        $FSO = CreateObject("scripting.filesystemobject") 
09.
        $fold = $fso.getfolder($path) 
10.
        $GetFolderSize = $fold.size 
11.
        Exit(0) 
12.
    Else 
13.
        Exit(3) 
14.
    EndIf 
15.
EndFunction
Die Ausgabe ist folgende:
ungerundet: 3493,36331939697
gerundet: 3493,36
Steh ich komplett auf dem Schlauch oder wo ist der Denkfehler? Weil ich habe ja mehr als 2 GByte und kann richtig damit rechnen.

Gruß,
Thomas
Bitte warten ..
Mitglied: Biber
11.07.2006 um 09:32 Uhr
@superboh
...verblüfft mich jetzt auch..hätte ich nicht erwartet.

Unterm CMD-Prompt (den ich ja -wie bekannt- immer griffbereit habe) kommt erwartungsgemäß Bullshit raus.
01.
(= 9:27:08  D:\temp=) 
02.
>set /a 3493*1024 
03.
3576832 
04.
(= 9:27:14  D:\temp=) 
05.
>set /a 3493*1024*1024 
06.
-632291328 
07.
(= 9:31:04  D:\temp=) 
08.
>
...hätte jetzt bei KiX auch nicht mehr erwartet.
Muss ich wohl noch mal recherchieren....

(To be cont'd)

Biber
Bitte warten ..
Mitglied: JJKix
13.07.2006 um 16:34 Uhr
Hi,

hier noch eine Variante mit Division:
Vor der Division muss der Wert zum Double gecastet werden CDbl (nicht unbedingt, aber schöner, danach diesen zum String-Wert casten mit CStr)

;
break on

$strComputer = "."
$objWMIService = GetObject("winmgmts:\\"+ $strComputer + "\root\cimv2")
$colItems = $objWMIService.ExecQuery("Select * from Win32_LogicalDisk")

For Each $objItem in $colItems
? "Laufwerk: " + $objItem.Caption
? "Dateisystem: " + $objItem.FileSystem
? "HDD Freier Specher: " + $objItem.FreeSpace + " Byte" + " -----> " + cstr(cDbl($objItem.FreeSpace)/1024/1024) + " GigaByte"
?;;
? "Size: " + $objItem.Size
? "Volume Serial Number: " + $objItem.VolumeSerialNumber
Next
Bitte warten ..
Ähnliche Inhalte
C und C++
gelöst Int to byte (11)

Frage von Power-Poler zum Thema C und C ...

Grafik
Illustrator in Photoshop-Datei umwandeln (6)

Frage von Yannosch zum Thema Grafik ...

Windows Server
gelöst Login Script (kix) bei Windows Server 2012 R2 (6)

Frage von TechNoob17 zum Thema Windows Server ...

Festplatten, SSD, Raid
gelöst Datenträger verabschiedet sich mit 0,00 Bytes, lässt sich nicht mehr initialisieren (21)

Frage von Paderman zum Thema Festplatten, SSD, Raid ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Windows 10
Windows 10 im Unternehmen? (28)

Frage von zorlayan zum Thema Windows 10 ...

LAN, WAN, Wireless
Ping u. DNS geht am Rechner nicht mehr (21)

Frage von Kuemmel zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
CNC Maschinen verlieren Netzwerkverbindung (kurioser Fehler) (18)

Frage von NoHopeNoFear zum Thema LAN, WAN, Wireless ...