Megosztás a következőn keresztül:


LIKE operátor

A LIKE operátor határozza meg, hogy egy karaktersztring megfelel-e egy megadott mintának. A megadott minta pontosan az egyező karaktereket, vagy meta karaktereket tartalmazhat. A LIKE operátor tulajdonképpen az alábbi táblázatban szereplő helyettesítő karakterek használatával egyezik meg az alsztringekkel.

Karakter Leírás
[ ] Bármely karakter a megadott tartományban ([a-f]) vagy beállításban ([abcdef]).
^ Bármely olyan karakter, amely nem tartozik a tartományba ([^a-f]) vagy be van állítva ([^abcdef].)
% Bármely 0 (nulla) vagy több karakterből álló sztring. Az alábbi példa megkeresi az összes olyan példányt, ahol a "Win" az osztálynév bármely pontján megtalálható: SELECT * FROM meta_class WHERE __Class LIKE "%Win%"
_ (aláhúzás) Bármelyik karakter. A lekérdezési sztringben használt összes literális aláhúzást meg kell szabadulni a [] (szögletes zárójelek) közé helyezéssel.

 

A következő Power Shell-kód például lekéri annak a Win32_operatingSystem osztálynak az összes példányát, amelynek Name tulajdonsága FirstNamekezdődik:

Get-WmiObject win32_computerSystem -filter "Name LIKE 'FirstName%'"

Mivel az aláhúzás egy meta karakter, ha a lekérdezési cél aláhúzással rendelkezik, a "[]" feloldó karaktereknek körül kell vennie. Lekérdezheti például az összes olyan osztályt, amelyben dupla aláhúzás van a névben.

Ha az összes osztályt dupla aláhúzásjellel szeretné megtalálni a névben, mindkét aláhúzásjelet [] (szögletes zárójelek) kell feloldania, például:

SELECT * FROM meta_class WHERE __CLASS LIKE "%[_][_]%"

A LIKE utasítást a NOT használatával tagadhatja meg; ehhez ügyeljen arra, hogy a NOT elemet közvetlenül a mező neve elé helyezze. Például:

Get-WmiObject -computerName "." -query 'Select * FROM Win32_Printer WHERE Local="TRUE" AND Network ="False" AND DriverName LIKE "%HP%" AND NOT PortName LIKE "%10.%" AND NOT PortName LIKE "%\\%"'

WQL-operátorok