![]() |
VBS 'Hello World' - Problem mit doppelter IF- Bedingung Ich frickel gerade an meinem ersten (deswegen 'Hello World') VBS-Miniscript. eigentlich funktioniert alles bis auf eine Kleinigkeit. Das Script soll mir nur die mit NTFS-formatierten Platten ausgeben. objDrive.IsReady benötige ich, damit das Script nicht wegen eines Laufzeitfehlers (Floppy) abbricht. Eigentlich dachte ich, ich könnte mit objDrive.FileSystem = NTFS die Ausgabe auf die gesuchten Platten/Partitionen einschränken, aber WSH meldet Zitat:
Code: const GB_FACTOR = 1073741824 Zitat:
|
*puu* ich habe zwar auch schon ein bisschen mit diesen vb-Scripts unter win rumgefummelt, aber ich würde dir raten, dich da an VisualBasicExperten zu hängen. |
Hi, vermutlich bist Du es von anderen Programmiersprachen gewohnt, daß ein logischer Ausdruck nicht weiter ausgewertet wird, wenn die weiteren Terme nichts mehr am Gesamtergebnis ändern können (sogenannte lazy evaluation). Bei WSH ist das aber nicht der Fall, er führt auf jeden Fall den zweiten Teil aus, um das Dateisystem zu bestimmen muß er auf das Laufwerk zugreifen und schon ist es passiert. Lösung: Die Abfage in zwei if-Konstrukte teilen, so daß die Abfrage auf das Dateisystem nur erfolgt, wenn IsReady True ergeben hat. Code: For Each objDrive in colDrives Code: function a1 |
Zitat:
Zitat:
Gruß Marc |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:32 Uhr. |
Copyright ©2000-2025, Trojaner-Board