693772

2-GB-Bug unter Windows 95/98/ME

Wenn Sie innerhalb eines Visual-Basic-Scripts die Größe einer Festplatte oder eines Netzlaufwerks ermitteln möchten, bietet sich die Funktion "TotalSize" an. Doch hier lauert eine Falle: Ein Bug in Windows 95/98/ME liefert für diese Funktion einen falschen Wert, wenn das Laufwerk mehr als 2 GB Platz bietet. Alles, was über dieser Grenze liegt, ignoriert "TotalSize" komplett. Die PC-WELT verrät Ihnen, wie Sie den Fehler übergehen können.

Anforderung

Profi

Zeitaufwand

Mittel

Wenn Sie innerhalb eines Visual-Basic-Scripts die Größe einer Festplatte oder eines Netzlaufwerks ermitteln möchten, bietet sich die Funktion "TotalSize" an. Doch hier lauert eine Falle: Ein Bug in Windows 95/98/ME liefert für diese Funktion einen falschen Wert, wenn das Laufwerk mehr als 2 GB Platz bietet. Alles, was über dieser Grenze liegt, ignoriert "TotalSize" komplett.

Das 2-GB-Limit gilt nur für das FAT-Dateisystem. Mehr Speicherplatz auf einem Laufwerk unterstützt dieses Dateisystem nicht. Zwar ist diese Einschränkung seit FAT32 und NTFS beseitigt, der Windows Scripting Host (WSH) wurde aber von Microsoft nie auf den neuesten Stand gebracht. Der Grund: angebliche Kompatibilitätsprobleme. Verwenden Sie deshalb statt "TotalSize" lieber den Befehl Chkdsk von MS-DOS. Er dient zwar nicht mehr, wie unter älteren DOS-Versionen, zum Überprüfen der Festplatte, zeigt aber immer noch unter anderem den Gesamtspeicherplatz an.

Wir stellen Ihnen zwei VB-Scripte zur Verfügung, die den Unterschied anhand von Laufwerk C: demonstrieren. TOTALSPACE.VBS benutzt die Windows-Funktion "TotalSize" und zeigt Ihnen deshalb auf allen Laufwerken mit mehr als 2 GB einen falschen Wert, nämlich genau 2 GB. SPACEFIX.VBS benutzt Chkdsk und liefert den korrekten Wert.

Download von TOTALSPACE.VBS

Download von SPACEFIX.VBS

0 Kommentare zu diesem Artikel
693772