PowerShell Not Equal Operator: applikasjoner, eksempler

24. mai 2021 36291 Visninger PowerShell Not Equal Operator-applikasjoner, eksempler

PowerShell Not Equal-operatøren sammenligner to verdier. Den kommer tilbake ekte hvis de to verdiene ikke er like.





I tillegg, hvis de sammenlignede verdiene er like, returnerer PowerShell Not Equal (NE)-operatoren Falsk .



I denne veiledningen vil du lære alt du trenger å vite om Not Equal (NE) sammenligningsoperatør . Dessuten har guiden mange ekte SysAdmin-eksempler.

La oss starte med syntaksen til Not Equal (NE) ...



Bla gjennom innleggsemner



Syntaks for PowerShell ikke lik operatør

Syntaksen til Not Equal (NE)-operatoren er..

|_+_|

Hvis du vil sammenligne flere verdier, bruk og eller eller operatør. Syntaksen for å sammenligne flere verdier er...



|_+_| |_+_|

Den første syntaksen til PowerShell Not Equal-operatøren stilles inn på nytt ekte hvis punkt 1 er IKKE lik punkt 2 . Dessuten, i den andre syntaksen, vil kommandoen returnere ekte hvis enten av Not Equal-sammenlikningene på begge sider av Eller operatør er ekte .



I motsetning til den andre syntaksen med eller operatør, vil den tredje syntaksen – med operatoren og – bare returnere ekte hvis Not Equal-sammenlikninger på både sidene av og operatør er ekte .

Til slutt, ne-operatoren skiller ikke mellom store og små bokstaver (den skiller ikke mellom store og små bokstaver). Men hvis du vil gjøre det skille mellom store og små bokstaver, bruk syntaksen nedenfor:

|_+_|

Forskjellen mellom denne siste kommandoen og den første er at c legges til etter -.

Hvordan bruke PowerShell Not Equal Operator for å teste null- eller tommeverdier

Hvordan bruke PowerShell Not Equal Operator for å teste null- eller tommeverdier

I PowerShell-skripting er det så mange grunner til at du kanskje vil teste for null eller tomme verdier. Du kan bruke ne for å teste om en verdi er null.

For å teste for nullverdien, bruk den automatiske variabelen $null. Dessuten kan du også bruke PowerShell Not Equal-operatortesten for en tom verdi i PowerShell med (2 doble anførselstegn uten noe innenfor anførselstegnene).

La oss starte med noen enkle eksempler...

Åpne en PowerShell-ledetekst og kjør kommandoen nedenfor:

|_+_|

Kommandoen returnerer alle prosesser som kjører på din lokale datamaskin. Jeg har fremhevet CPU(er) kolonne.

For noen prosesser er CPU(er) kolonnen er tom (null, tom).

For å vise kun resultater der CPU(er) kolonnen IKKE er null eller tom, kjør kommandoen nedenfor:

|_+_|

Hvis du nå ser på CPU(er) kolonne, er alle resultater med nullverdi eliminert!

Hvordan bruke PowerShell Not Equal Operator for å teste null- eller tommeverdier

Du kan også bruke samme prinsipp for å returnere alle tjenester på datamaskinen din med status som kjører. Her er PowerShell-kommandoen:

|_+_|

Her er resultatet av kommandoen i PowerShell:

For å få resultatet til å se bedre ut, kan vi pipe outputet inn Format-tabell – Deretter ordner du overskriftene på nytt. Her er den modifiserte kommandoen:

|_+_|

Og her er resultatet i PowerShell...

Hvordan bruke PowerShell Not Equal Operator for å teste null- eller tommeverdier

Hvordan bruke PowerShell Not Equal Operator for å teste $True eller $False

Hvordan bruke PowerShell Not Equal Operator for å teste $True eller $False

Det er kanskje ikke åpenbart, men hver gang du bruker PowerShell Not Equal-operatoren i en kommando, returnerer den en $True eller $False. Verdien $True eller $False brukes deretter til å utføre ytterligere kommandoer.

$True, $False er automatiske variabler som betyr henholdsvis True og False.

Som et eksempel, i Få-prosess eksempel i den siste delen $_.CPU -ne $null uttalelse innenfor Hvor-objekt bare returnerte alle prosesser som returnerte ekte for uttalelsen, $_.CPU -ne $null .

|_+_|

Videre alle prosesser som returnerte Falsk for, $_.CPU -ne $null erklæringen ble ikke returnert.

For å kjøre poenget mitt hjem, kjør kommandoen nedenfor i PowerShell:

|_+_|

Åpenbart er 1 IKKE lik 2, så vi forventer at resultatet returnerer True. Og her er resultatet i PowerShell...

Windows 10 installerer e-postappen på nytt

Hva med…

|_+_|

Den kom tilbake Falsk fordi den påstanden IKKE er sann.

PowerShell Not Equal Operator eksempler

PowerShell Not Equal Operator eksempler

I denne delen vil jeg diskutere to praktiske eksempler på PowerShell Not Equal-operatøren. I det første eksemplet vil jeg vise deg hvordan du bruker ne-operatoren til å teste flere verdier eller forhold.

Til slutt, i den andre delen, vil du lære hvordan du bruker PowerShell Not Equal-operatoren i en IF-setning.

PowerShell Not Equal Operator Multiple Values ​​Eksempel

For å illustrere hvordan du bruker PowerShell ne-operatøren til å teste flere verdier, la oss gå tilbake til Få-service kommandoeksempel i forrige seksjon.

|_+_|

I denne kommandoen brukte vi PowerShell Not Equal-operatøren for å teste for en enkelt tilstand. Kommandoen returnerte kun tjenester som IKKE har status som Stoppet.

Tilstanden er testet innenfor Hvor-objekt del av kommandoen. Her er resultatet av kommandoen:

Som forventet returnerte kommandoen ALLE tjenester med statusen Kjører.

Hva om jeg vil eliminere noen tjenester selv om statusen deres er Kjører?

Jeg kan oppnå dette ved å legge til flere verdier (eller betingelser) i Hvor-objekt del av kommandoen. La oss for eksempel si at jeg ikke vil returnere følgende tjenester – AJRouter , ALG , og AppMgmt .

For å fjerne disse tjenestene fra resultatet, vil jeg endre den forrige kommandoen som vist nedenfor:

|_+_|

Resultatet av den modifiserte kommandoen inkluderer ikke disse 3 tjenestene!

PowerShell Not Equal Operator Multiple Values ​​Eksempel

Alternativt kan du endre resultatet av den siste kommandoen ved å bruke eller i stedet for og.

For for eksempel å returnere alle servere som ikke heter AppIDSvc ELLER alle tjenester med status NOT lik kjører, kjør kommandoen nedenfor:

|_+_|

Dessverre er resultatet ikke særlig nyttig. Grunnen til at det ikke er veldig nyttig er dette: selv om jeg ønsket å eliminere tjenester med status NOT lik stoppet, fordi jeg har en andre betingelse knyttet til eller – resultatet inkluderte begge tjenestene med status kjører og stoppet.

Uansett, jeg ville bare illustrere hvordan man tester for flere forhold med PowerShell Not Equal-operatøren!

Hvordan bruke PowerShell IKKE lik If-erklæringen

I dette eksemplet vil jeg bygge et skript som lager mapper ved å bruke navnene i tekstfilen nedenfor.

Her er skriptet som lager mapper ved å bruke navn vist i tekstfilen vist ovenfor:

|_+_|

Før jeg kjører skriptet, her er mappen lagret i Mappebane variabel (linje 1 i koden). Mappen er tom.

Hvis du ønsker å prøve skriptet, endre følgende variabler til en eksisterende bane på datamaskinen:

$FolderPath : Mappebanen der du vil opprette de nye mappene
$ TextFilePath : Den fullstendige banen til tekstfilen med navnene på mappene du vil opprette.

Til slutt, for å kjøre skriptet, kopier det til PowerShell ISE og kjør det.

Når jeg kjørte skriptet, ble mappene opprettet i mappen spesifisert i Mappebane variabel.

Nedenfor har jeg forklart hva hver linje i skriptet gjør. Vær oppmerksom på PowerShell Not Equal-operatørbanen – $ checkPath -ikke $ sant del – linje 6.

|_+_|

Her er en forklaring på hver linje i skriptet:

generisk pnp skjerm driver feil
    Linje 1: Lagrer banen du vil lagre de nye mappene i en variabel kalt Mappebane .
|_+_|
    Linje 2: Lagrer banen til tekstfilen med mappenavnene, i en variabel kalt TextFilePath .
|_+_|
    Linje 3: Trekker ut innholdet i tekstfilen (mappenavnene), med Hent-innhold kommando. Deretter lagrer du resultatet i mappenavn variabel.
|_+_|
    Linje 4: Åpner For hver erklæringsblokk. De For hver setningen gjentar resultatet av tekstfilen (lagret i mappenavn variabel). Deretter, ved hver iterasjon, lagrer den navnet på mappen i en tidsvariabel, mappenavn .
|_+_|
    Linje 5: Utføres innenfor For hver setningsblokk: Bruker Test-Path kommando for å sjekke om banen til mappen finnes i mappebanen som er lagret i Mappebane variabel.

    Resultatet av Test-Path kommandoen er $True eller $False.
|_+_|
    Linje 6: Introduserer HVIS uttalelse (fortsatt innenfor For hver erklæringsblokk). Det er her vi bruker PowerShell Not Equal-operatøren for å sjekke om resultatet av Test-Path kommandoen er $True eller $False.
|_+_|
    Linje 7: På denne linjen, hvis $checkPath -ne $true IKKE er lik ekte , bruke Ny gjenstand kommando for å lage en mappe med navnet lagret i den tidsmessige variabelen, mappenavn .

    I tillegg for å stoppe Ny gjenstand kommandoen fra å vise resultater, rør den til Ut-Null kommando.

    Til slutt lukker du HVIS setningsblokk med en lukket parentes }.
|_+_| Hvis du kjører Ny gjenstand kommando uten å overføre den til Ut-Null kommandoen, viser den detaljene for mappen som er opprettet.
    Linje 8: Lukk For hver setningsblokk med en lukket parentes }.
|_+_|

Det er det! Vår oppdaterte PowerShell Not Equal (ne) operatørveiledning.

Jeg håper du fant denne veiledningen nyttig. Hvis du synes det var nyttig, vennligst stem Ja til spørsmålet Var dette innlegget nyttig nedenfor.

Alternativt kan du stille et spørsmål, legge igjen en kommentar eller gi mer tilbakemelding med Legg igjen et svar-skjemaet på slutten av denne siden.

Til slutt, for flere PowerShell tech S Zones, besøk vår Windows PowerShell How-To guide-side. Du kan også finne vår Work from Home-side veldig nyttig.

Denne artikkelen ble fullstendig omskrevet og oppdatert med nye eksempler.

Referanser og videre lesning

  1. Om sammenligningsoperatører
  2. Om logiske operatører
  3. Hvor-objekt