![]() |
|
Alles rund um Windows: VBS 'Hello World' - Problem mit doppelter IF- BedingungWindows 7 Hilfe zu allen Windows-Betriebssystemen: Windows XP, Windows Vista, Windows 7, Windows 8(.1) und Windows 10 / Windows 11- als auch zu sämtlicher Windows-Software. Alles zu Windows 10 ist auch gerne willkommen. Bitte benenne etwaige Fehler oder Bluescreens unter Windows mit dem Wortlaut der Fehlermeldung und Fehlercode. Erste Schritte für Hilfe unter Windows. |
|
![]() | #3 |
/// Helfer-Team ![]() ![]() ![]() ![]() | ![]() VBS 'Hello World' - Problem mit doppelter IF- Bedingung Details 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:
ATTFilter For Each objDrive in colDrives If objDrive.IsReady = True Then If obj.Drive.FileSystem = NTFS then ' your code End If End If Next Code:
ATTFilter function a1 Wscript.Echo "in a1" a1 = False end function function a2 Wscript.Echo "in a2" a2 = False end function if a1 and a2 then Wscript.Echo "if taken" else Wscript.Echo "else taken" end if |
Themen zu VBS 'Hello World' - Problem mit doppelter IF- Bedingung |
benötige, code, dateisystem, daten, datenträger, doppel, doppelte, einschränken, falsch, funktioniert, google, größe, laufwerksbuchstabe, melde, meldet, microsoft, platte, problem, rechte, speicherplatz, vbs, vbscript, version, volume, volumen, windows, windows script host, world |