PowerShell: Oder-Bedingung in der While-Schleife
Habe ich ein wirklich einfaches problem, aber ich bekomme es nicht funktioniert. Ich habe eine Schleife, die prüft, ob zwei Dateien vorhanden, wenn nicht, dann schlafen Sie und prüfen Sie noch einmal in zwei Sekunden.
while (([System.IO.File]::Exists($terminationFile) -ne $true) -or ([System.IO.File]::Exists($noFile) -ne $true)) {
# wait 2 seconds and check again
Start-Sleep -s 2
}
Wenn ich beide Bedingungen in die gleiche Schleife prüft es nur die erste.
Wäre toll, wenn jemand helfen kann
Grüße,
Justin
- Du meinst wohl: while (!(Test-Path $terminationFile) -und !(Test-Path $noFile)) { Start-Sleep -s 2 }
- Danke, ich werde es versuchen. Aber warum funktioniert es wenn ich nur überprüfen: while ([System.IO.Datei]::Exists($terminationFile) -ne $true) ?
- Super, scheint zu funktionieren jetzt. Danke!!!
- Es denn wenn die erste Prüfung erfolgreich IE false, dann die zweite überprüfung wird nie ausgeführt. Wenn die erste überprüfung fehlschlägt, dann wäre es auf der zweiten. Wollen Sie beide überprüfungen erfolgreich, bevor Sie etwas verwenden -und wie David sagte,
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einer interpretaion von David Brant für mich gearbeitet: