• 06/09/2017
  • 3 minutter til at læse
    • S
    • s
    • s
    • x

en KORT BESKRIVELSE

Beskriver et sprog kommando, du kan bruge til at køre erklæring lister, der er baseret på resultaterne af en eller flere betingede test.

lang beskrivelse

Du kan brugeIf – sætningen til at køre kodeblokke, hvis en specificeret conditionaltest evaluerer til true., Du kan også angive en eller flere yderligerekonditionelle tests, der skal køres, hvis alle de tidligere tests vurderer til false. Endelig kan du angive en ekstra kode blok, der køres, hvis ingen anden priorconditional test evaluerer til true.

Syntaks

følgende eksempel viser If erklæring syntax:

if (<test1>) {<statement list 1>}

Når du kører en If erklæring, PowerShell vurderer <test1>betingede udtryk som sande eller falske., Hvis <test1> er sandt, kører<statement list 1>, og Po .ershell afslutter If – sætningen. Hvis<test1> er falsk, evaluerer Po .ershell den tilstand, der er angivet af<test2> betinget erklæring.

Du kan bruge flere Elseif-udsagn til at kæde en række conditionaltests. Så, at hver test kun køres, hvis alle de tidligere test er falske.Hvis du har brug for at oprette en If – erklæring,der indeholder mange Elseif-udsagn, skal du overveje at bruge en S .itch-erklæring i stedet.,

eksempler:

den enkleste If – erklæring indeholder en enkelt kommando og indeholder ikke nogen Elseif-udsagn eller andre udsagn. Følgende eksempel showsthe simpleste form af If erklæring:

if ($a -gt 2) { Write-Host "The value $a is greater than 2."}

I dette eksempel, hvis $en variabel er større end 2, conditionevaluates til true, og den erklæring liste løber. Men hvis $a er mindre end eller lig med 2 eller ikke er en eksisterende variabel, viserIf ikke en meddelelse.,

Ved at tilføje en Else-erklæring vises en meddelelse, når $A er mindre end ore .ual til 2. Som det næste eksempel viser:

for yderligere At forfine dette eksempel, kan du bruge Elseif statement til displaya besked, når værdien af $a er lig med 2. Som det næste eksempel viser:

brug af den ternære operatørsynta.

Po .ershell 7.0 introducerede en ny syntaks ved hjælp af den ternære operatør. Det følger C# ternaryoperator syntax:

<condition> ? <if-true> : <if-false>

Den ternære operatør opfører sig som den forenklede if-else erklæring., <condition> expressionis evalueret, og resultatet er konverteret til en boolean for at afgøre, hvilken gren skal være evaluatednext:

  • <if-true> udtryk er udført, hvis <condition> udtryk er sandt
  • <if-false> udtryk er udført, hvis <condition> expression er falsk

For eksempel:

$message = (Test-Path $path) ? "Path exists" : "Path not found"
$service = Get-Service BITS$service.Status -eq 'Running' ? (Stop-Service $service) : (Start-Service $service)

I dette eksempel, hvis tjenesten kører, det er stoppet, og hvis dens status ikke Kører,det er startet.,

se også

about_Comparison_Operators

about_s_itch

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *