Vergleich mehrerer Werte in einer IF Abfrage
Hallo zusammen,
ich hänge im Moment doch etwas an der Formatierung einer IF Abfrage mit mehreren Werten.
Mit nur einem Wert funktioniert der Ersatz super.
Kann mir jemand die korrekte Formatierung bitte geben, Habe wie unten ersichtlich schon m.E. alles durch.
Es waren auch andere Kombinationene dabei- Mit ' ' ; " " etc.
if ($tddate -eq "25" -and $tmdate -eq "01","03")
{$tddate = "01"}
if ($tddate -eq "00" -and $tmdate -eq "[04\06\09\11]")
Vielen Dank.
Markus
ich hänge im Moment doch etwas an der Formatierung einer IF Abfrage mit mehreren Werten.
Mit nur einem Wert funktioniert der Ersatz super.
Kann mir jemand die korrekte Formatierung bitte geben, Habe wie unten ersichtlich schon m.E. alles durch.
Es waren auch andere Kombinationene dabei- Mit ' ' ; " " etc.
if ($tddate -eq "25" -and $tmdate -eq "01","03")
{$tddate = "01"}
if ($tddate -eq "00" -and $tmdate -eq "[04\06\09\11]")
Vielen Dank.
Markus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 567972
Url: https://administrator.de/contentid/567972
Ausgedruckt am: 19.12.2024 um 10:12 Uhr
11 Kommentare
Neuester Kommentar
Moin,
schreibe die zu prüfenden Werte in ein Array und prüfe mit myObject.Contains() die Werte.
Da du keine Programmiersprache angegeben hast, kann man dir hier nicht konkret helfen.
Visual Studio supportet nämlich mehrere Sprachen:
https://visualstudio.microsoft.com/de/vs/features/web/languages/
Gruß
em-pie
schreibe die zu prüfenden Werte in ein Array und prüfe mit myObject.Contains() die Werte.
Da du keine Programmiersprache angegeben hast, kann man dir hier nicht konkret helfen.
Visual Studio supportet nämlich mehrere Sprachen:
https://visualstudio.microsoft.com/de/vs/features/web/languages/
Gruß
em-pie
Quizfrage:
Welchen Wert hat $y ?
Hoffe du weißt jetzt wenigstens was in deinem Beitrag oben zur Interpretation fehlt ... Ganz zu schweigen von der Kategorie "Visual Studio" passt hier irgendwie nicht zu dem Powershell Code den du oben offensichtlich nutzen willst?! Hier wäre dann Batch und Shell passender.
Ich tippe hier mal ins blaue was du vielleicht meinst
$y = $x + 1
Hoffe du weißt jetzt wenigstens was in deinem Beitrag oben zur Interpretation fehlt ... Ganz zu schweigen von der Kategorie "Visual Studio" passt hier irgendwie nicht zu dem Powershell Code den du oben offensichtlich nutzen willst?! Hier wäre dann Batch und Shell passender.
Ich tippe hier mal ins blaue was du vielleicht meinst
if ($tddate -eq "25" -and $tmdate -in @("01","03"))
{
$tddate = "01"
}
Musst du nicht, es gibt noch viele andere Varianten.
Das hier geht z.B. alternativ auch (umgedrehte Variante bei der das Array vor dem Operator steht)
oder folgendes geht auch (Regex Variante)
Bitte lies doch einfach die Doku zu den Vergleichsoperator, dann bist auch du schlauer als vorher 👍
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...
Kenne ich nicht, die Interpretation des -in @.
Das -in ist ein Operator der prüft ob der Wert der vor ihm steht in dem Array vorkommt das hinter im steht, das @() ist nur eine klare Kennzeichnung eines Arrays, du kannst da stattdessen auch eine Variable einsetzen, oder das Array einfach ohne das @ in Klammern setzen.Das hier geht z.B. alternativ auch (umgedrehte Variante bei der das Array vor dem Operator steht)
if ($tddate -eq "25" -and ("01","03") -contains $tmdate)
{
$tddate = "01"
}
if ($tddate -eq "25" -and $tmdate -match '^(01|03)$')
{
$tddate = "01"
}
Bitte lies doch einfach die Doku zu den Vergleichsoperator, dann bist auch du schlauer als vorher 👍
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...
Da ist bei dir ein Leerzeichen zu viel, das klappt nämlich einwandfrei min jung 😉!!
Stelle außerdem sicher das deine Powershell aktuell ist, den -in Operator gibt es erst ab PS 3.0
Stelle außerdem sicher das deine Powershell aktuell ist, den -in Operator gibt es erst ab PS 3.0
Da ist dann wohl das Update längst schon überfällig 😉.
Oder wenn du nicht darfst hast du ja genügend Ausweichvarianten 👌
Oder wenn du nicht darfst hast du ja genügend Ausweichvarianten 👌