Partager via


Opérateur LIKE

L’opérateur LIKE détermine si une chaîne de caractères correspond ou non à un modèle spécifié. Le modèle spécifié peut contenir exactement les caractères à mettre en correspondance, ou il peut contenir des méta-caractères. En effet, l’opérateur LIKE correspond aux sous-chaînes à l’aide des caractères génériques du tableau suivant.

Caractère Description
[ ] Tout caractère correspondant à l'intervalle ([a-f]) ou à l'ensemble spécifié ([abcdef]).
^ Tout caractère ne correspondant pas à l'intervalle ([^a-f]) ou à l'ensemble spécifié ([^abcdef]).
% Toute chaîne de 0 (zéro) caractère ou plus. L’exemple suivant recherche toutes les instances où « Win » se trouve n’importe où dans le nom de la classe : SELECT * FROM meta_class WHERE __Class LIKE "%Win%"
_ (souligné) N’importe quel caractère. Tout trait de soulignement littéral utilisé dans la chaîne de requête doit être placé dans une séquence d’échappement en la plaçant à l’intérieur de [] (crochets).

 

Par exemple, le code Power Shell suivant récupère toutes les instances de la classe Win32_operatingSystem dont la propriété Nom commence par FirstName :

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

Étant donné que le trait de soulignement est un méta-caractère, si la cible de requête a un trait de soulignement, les caractères d’échappement « [] » doivent l’entourer. Par exemple, vous pouvez rechercher toutes les classes ayant un double trait de soulignement dans le nom.

Pour localiser toutes les classes ayant un trait de soulignement double dans le nom, vous devez placer les deux traits de soulignement entre [] (crochets), par exemple :

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

Vous pouvez annuler une instruction LIKE à l’aide de NOT ; Pour ce faire, veillez à placer le NOT directement devant le nom du champ. Par exemple :

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 "%\\%"'

Opérateurs WQL