TUTOS.EU

Comparaison entre les variables en powershell

Comment comparer la taille de différents variables en Powershell

Pour tester si un mot est présent dans une variable.
Ci dessous on regarde si le mot 'est' est présent dans $UneVariable
Si c'est le cas, on affichera 'Trouvé'

$UneVariable = "Ceci est un test"
if ($UneVariable -like "*est*"){Write-Host "Trouvé"}
Lien vers le fichier : cliquez ici Copier le code

Pour comparer 2 textes

Clear-Host

$Variable01 = "Test"
$Variable02 = "Test"

if ($Variable01.ToString() -ieq $Variable02.ToString()) {
Write-Host "Variable01 est identique à Variable02"}
else{"Variable01 est différent de Variable02"}
Lien vers le fichier : cliquez ici Copier le code

Si on compare la valeur numérique de la variable :

Clear-Host

$Variable01 = 5
$Variable02 = 25

if ($Variable01 -igt 0) {Write-Host "Variable01 est plus grand que 0"}
else{"Variable01 n'est pas plus grand que 0"}


if ($Variable01 -igt $Variable02) {Write-Host "Variable01 est plus grand que Variable02"}
else{"Variable02 est plus grand que Variable01"}
Lien vers le fichier : cliquez ici Copier le code

Si on compare la longueur du texte contenue dans la variable :

Clear-Host

$Variable01 = "abcd"
$Variable02 = "abcdefgh"

Write-Host "La première variable a une longueur de $($Variable01.Length)"
Write-Host "La seconde variable a une longueur de $($Variable02.Length)"
Lien vers le fichier : cliquez ici Copier le code

Résultat :

Si on regarde si la variable est de longueur nulle ou non

$UneVariable = "Je met du texte dans ma variable"
if ($UneVariable.Length -igt 0) { #Si la variable n'est pas nulle, cad qu'elle a une longueur supérieure à 0
	Write-host "Ma variable n'est pas vide"
}

$UneVariable = ""
if ($UneVariable.Length -eq 0) { #Si la variable est de longueur nulle, cad qu'elle ne contient pas de texte
	write-host "Ma variable ne contient pas de texte"
}
Lien vers le fichier : cliquez ici Copier le code

Notez que si vous voulez savoir si votre variable est inconnue ou vide, il faut regarder si elle a la valeur Null, cf
https://docs.microsoft.com/fr-fr/powershell/scripting/learn/deep-dives/everything-about-null?view=powershell-7.2

if ($mavariable-eq $null) {}
Lien vers le fichier : cliquez ici Copier le code

Tableau des opérateurs

Opérateur Utilité
-eq égal
-ne non égal
-ge plus grand que ou égal
-gt plus grand que (mais pas égal)
-lt plus petit que (Less than)
-le plus petit que ou égal (Less than or equal)
-like Comme, contient le mot
-notlike Différent de, ne contient pas
-match Match avec l'expression régulière type regex
-notmatch Ne match pas avec l'expression régulière type regex
-replace Remplace
-contains Contient
-notcontains Ne contient pas
-shl Shiftbitsleft (PowerShell3.0)
-shr Shiftbitsright–preservessignforsignedvalues.(PowerShell3.0)
-in Like–contains,butwiththeoperandsreversed.(PowerShell3.0)
-notin Like–notcontains,butwiththeoperandsreversed.(PowerShell3.0)

Pages Web

Site WebDescription
Technet.microsoft.comConverting VBScript's Len Function
Ss64.comComparison Operators

2