Operador PowerShell Not Equal: aplicacions, exemples

24 de maig de 2021 36291 Vistes Aplicacions d'operadors PowerShell no iguals, exemples

L'operador PowerShell Not Equal compara dos valors. Torna És cert si els dos valors no són iguals.





A més, si els valors comparats són iguals, retorna l'operador PowerShell Not Equal (NE). Fals .



En aquesta guia, aprendràs tot el que necessites saber sobre el Not Equal (NE) operador de comparació . A més, la guia té molts exemples reals de SysAdmin.

Comencem amb la sintaxi del Not Equal (NE)...



Navega per temes de publicació



Sintaxi de l'operador PowerShell Not Equal

La sintaxi de l'operador No igual (NE) és...

|_+_|

Si voleu comparar diversos valors, utilitzeu i o o operador. La sintaxi per comparar diversos valors és...



|_+_| |_+_|

La primera sintaxi de l'operador PowerShell Not Equal s'ajusta És cert si element 1 NO és igual a tema 2 . A més, a la segona sintaxi, tornarà l'ordre És cert si tampoc de les comparacions no iguals a banda i banda de la O l'operador és És cert .



A diferència de la segona sintaxi amb el o operador, la tercera sintaxi, amb l'operador i, només tornarà És cert si les comparacions no iguals activades tots dos costats de la i l'operador són És cert .

Finalment, l'operador ne no distingeix entre majúscules i minúscules (no distingeix entre majúscules i minúscules). Tanmateix, si voleu que distingeix entre majúscules i minúscules, utilitzeu la sintaxi següent:

|_+_|

La diferència entre aquesta darrera ordre i la primera és que s'afegeix c després del -.

Com utilitzar l'operador PowerShell Not Equal per provar valors nuls o buits

Com utilitzar l'operador PowerShell Not Equal per provar valors nuls o buits

Als scripts de PowerShell, hi ha tantes raons per les quals potser voldreu provar els valors nuls o buits. Podeu utilitzar el ne per provar si un valor és nul.

Per provar el valor nul, utilitzeu la variable automàtica $null. A més, també podeu utilitzar la prova de l'operador PowerShell Not Equal per a un valor buit a PowerShell amb (2 cometes dobles sense res dins de les cometes).

Comencem amb alguns exemples senzills...

Obriu un indicador de PowerShell i executeu l'ordre següent:

|_+_|

L'ordre retorna tots els processos que s'executen a l'ordinador local. He destacat el CPU(s) columna.

Per a alguns processos, el CPU(s) la columna està en blanc (nul·la, buida).

Per mostrar només els resultats on CPU(s) La columna NO és nul·la o en blanc, executeu l'ordre següent:

|_+_|

Si ara mireu el CPU(s) columna, tots els resultats amb valor nul s'han eliminat!

openelec vs osmc vs xbian
Com utilitzar l'operador PowerShell Not Equal per provar valors nuls o buits

També podeu aplicar el mateix principi per retornar tots els serveis del vostre ordinador amb l'estat en execució. Aquí teniu l'ordre de PowerShell:

|_+_|

Aquest és el resultat de l'ordre a PowerShell:

Perquè el resultat sembli millor, podem canalitzar la sortida Format-Taula – després, torneu a organitzar les capçaleres. Aquí teniu l'ordre modificada:

|_+_|

I aquí teniu el resultat a PowerShell...

Com utilitzar l'operador PowerShell Not Equal per provar valors nuls o buits

Com utilitzar l'operador PowerShell Not Equal per provar $True o $False

Com utilitzar l'operador PowerShell Not Equal per provar $True o $False

No obstant això, pot ser que no sigui obvi, cada vegada que utilitzeu l'operador PowerShell Not Equal en una ordre, retorna un $True o $False. Aleshores, el valor $True o $False s'utilitza per executar altres ordres.

$True, $False són variables automàtiques que signifiquen Vertader i Fals respectivament.

Com a exemple, a la Obtenir-procés exemple a l'últim apartat, el $_.CPU -ne $null declaració dins On-Objecte simplement va retornar tots els processos que van tornar És cert per la declaració, $_.CPU -ne $null .

|_+_|

A més, tots els processos que van tornar Fals per al, $_.CPU -ne $null declaració no es va tornar.

Per conduir el meu punt a casa, executeu l'ordre següent a PowerShell:

|_+_|

Òbviament, 1 NO és igual a 2, així que esperem que el resultat torni True. I aquí teniu el resultat a PowerShell...

I què passa amb…

|_+_|

Va tornar Fals perquè aquesta afirmació NO és certa.

Exemples d'operadors PowerShell no iguals

Exemples d'operadors PowerShell no iguals

En aquesta secció, parlaré de dos exemples pràctics de l'operador PowerShell Not Equal. En el primer exemple, us mostraré com utilitzar l'operador ne per provar diversos valors o condicions.

Finalment, a la segona secció, aprendràs a utilitzar l'operador PowerShell Not Equal en una instrucció IF.

Exemple de valors múltiples de l'operador PowerShell no igual

Per il·lustrar com utilitzar l'operador PowerShell ne per provar diversos valors, tornem a Obtenir servei exemple de comandament a la secció anterior.

|_+_|

En aquesta ordre, hem utilitzat l'operador PowerShell Not Equal per provar una sola condició. L'ordre només ha retornat serveis que NO tenen el seu estat d'aturat.

La condició es prova dins del On-Objecte part del comandament. Aquí us deixem el resultat de l'ordre:

Com era d'esperar, l'ordre va retornar TOTS els serveis amb el seu estat en execució.

Què passa si vull eliminar alguns serveis encara que el seu estat sigui En execució?

Puc aconseguir-ho afegint diversos valors (o condicions) al fitxer On-Objecte part del comandament. Per exemple, diguem que no vull tornar els serveis següents: AJRouter , ALG , i AppMgmt .

Per eliminar aquests serveis del resultat, modificaré l'ordre anterior tal com es mostra a continuació:

|_+_|

El resultat de la comanda modificada no inclou aquests 3 serveis!

Exemple de valors múltiples de l'operador PowerShell no igual

Alternativament, podeu modificar el resultat de l'última ordre utilitzant o en lloc de i.

Per exemple, per tornar tots els servidors que no s'anomenin AppIDSvc O tots els serveis amb l'estat NO és igual en execució, executeu l'ordre següent:

|_+_|

Malauradament, el resultat no és gaire útil. La raó per la qual no és gaire útil és aquesta: tot i que volia eliminar els serveis amb l'estat NO és igual a aturats, perquè tinc una segona condició enllaçada per o: el resultat va incloure els dos serveis amb l'estat En execució i Aturat.

De totes maneres, només volia il·lustrar com provar diverses condicions amb l'operador PowerShell Not Equal!

Com utilitzar PowerShell NO és igual a la declaració If

En aquest exemple, crearé un script que creï carpetes amb els noms del fitxer de text següent.

Aquí teniu l'script que crea carpetes amb els noms que es mostren al fitxer de text que es mostra a dalt:

|_+_|

Abans d'executar l'script, aquí teniu la carpeta desada al fitxer FolderPath variable (línia 1 del codi). La carpeta està buida.

Si voleu provar l'script, canvieu les variables següents a una ruta existent al vostre ordinador:

$FolderPath : El camí de la carpeta on voleu crear les carpetes noves
$ TextFilePath : el camí complet al fitxer de text amb els noms de les carpetes que voleu crear.

Finalment, per executar l'script, copieu-lo a PowerShell ISE i executeu-lo.

Un cop he executat l'script, les carpetes es van crear a la carpeta especificada a la carpeta FolderPath variable.

A continuació he explicat què fa cada línia del guió. Preste atenció a la ruta de l'operador PowerShell Not Equal: $ checkPath -no $ true part - línia 6.

|_+_|

Aquí teniu una explicació de cada línia de l'script:

    Línia 1: Desa el camí on voleu desar les carpetes noves en una variable anomenada FolderPath .
|_+_|
    Línia 2: Desa el camí al fitxer de text amb els noms de les carpetes, en una variable anomenada TextFilePath .
|_+_|
    Línia 3: extreu el contingut del fitxer de text (els noms de les carpetes), amb el Obtenir contingut comandament. A continuació, desa el resultat al fitxer noms de carpeta variable.
|_+_|
    Línia 4: Obre el Per cadascú bloc de declaracions. El Per cadascú La instrucció itera el resultat del fitxer de text (desat al fitxer noms de carpeta variable). Aleshores, a cada iteració, desa el nom de la carpeta en una variable temporal, folderName .
|_+_|
    Línia 5: S'executa dins del Per cadascú bloc d'instruccions: utilitza el Camí de prova ordre per comprovar si el camí a la carpeta existeix al camí de la carpeta desat al fitxer FolderPath variable.

    El resultat de la Camí de prova L'ordre és $True o $False.
|_+_|
    Línia 6: Presenta el SI declaració (encara dins del Per cadascú bloc d'instruccions). Aquí és on utilitzem l'operador PowerShell Not Equal per comprovar si el resultat del Camí de prova L'ordre és $True o $False.
|_+_|
    Línia 7: En aquesta línia, si $checkPath -ne $true NO és igual És cert , utilitzar el Nou-element comanda per crear una carpeta amb el nom desat a la variable temporal, folderName .

    A més, per aturar el Nou-element l'ordre de mostrar els resultats, canalitza-la a Out-Nul comandament.

    Finalment, tanqueu el SI bloc d'instruccions amb un claudàtor tancat }.
|_+_| Si executeu el Nou-element comanda sense canalitzar-lo al Out-Nul comanda, mostra els detalls de la carpeta creada.
    Línia 8: Tanca el Per cadascú bloc d'instruccions amb un claudàtor tancat }.
|_+_|

Això és! La nostra guia de l'operador de PowerShell Not Equal (ne) actualitzada.

Espero que aquesta guia us sigui útil. Si us ha semblat útil, si us plau voteu a la pregunta Va ser útil aquesta publicació a continuació.

Alternativament, podeu fer una pregunta, deixar un comentari o proporcionar més comentaris amb el formulari Deixa una resposta que es troba al final d'aquesta pàgina.

Finalment, per obtenir més zones S de tecnologia de PowerShell, visiteu la nostra pàgina de guia de instruccions de Windows PowerShell. També pot ser que la nostra pàgina de treball des d'inici sigui molt útil.

Aquest article es va reescriure completament i es va actualitzar amb nous exemples.

Referències i lectura addicional

  1. Sobre els operadors de comparació
  2. Sobre els operadors lògics
  3. On-Objecte