Aracılığıyla paylaş


LIKE İşleci

LIKE işleci, bir karakter dizesinin belirtilen desenle eşleşip eşleşmediğini belirler. Belirtilen desen tam olarak eşleşecek karakterleri veya meta karakterlerini içerebilir. Like işleci, aşağıdaki tablodaki joker karakterleri kullanarak alt dizelerle eşleşir.

Karakter Açıklama
[ ] Belirtilen aralıktaki herhangi bir karakter ([a-f]) veya küme ([abcdef]).
^ Aralık içinde olmayan ([^a-f]) veya ([^abcdef]) herhangi bir karakter.
% 0 (sıfır) veya daha fazla karakterden oluşan herhangi bir dize. Aşağıdaki örnek, "Win" öğesinin sınıf adının herhangi bir yerinde bulunduğu tüm örnekleri bulur: SELECT * FROM meta_class WHERE __Class LIKE "%Win%"
_ (alt çizgi) Herhangi bir karakter. Sorgu dizesinde kullanılan tüm değişmez değer alt çizgilerinin [] içine yerleştirilerek (köşeli ayraçlar) kaçılması gerekir.

 

Örneğin, aşağıdaki Power shell kodu Name özelliği FirstNameile başlayan Win32_operatingSystem sınıfının tüm örneklerini alır:

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

Alt çizgi bir meta karakter olduğundan, sorgu hedefinin bir alt çizgi varsa, "[]" kaçış karakterleri onu çevrelemelidir. Örneğin, adında çift alt çizgi bulunan tüm sınıfları sorgulayabilirsiniz.

Adında çift alt çizgi bulunan tüm sınıfları bulmak için her iki alt çizgiden de [] (köşeli ayraçlar) çıkmalısınız, örneğin:

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

NOT kullanarak LIKE deyimini olumsuzlayabilirsiniz; bunu yapmak için DEĞİl değerini doğrudan alan adının önüne yerleştirdiğinden emin olun. Mesela:

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 İşleçleri