Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
powershell_base2 [2019/02/22 10:32] – [Les chaînes de caractères] nekanpowershell_base2 [2021/03/05 15:52] (Version actuelle) nekan
Ligne 1: Ligne 1:
 ====== Les bases de Powershell - 2ème partie ====== ====== Les bases de Powershell - 2ème partie ======
 +<label type="info">Création</label> --- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2019/02/22 19:08//
  
 On continue avec les bases du langage Powershell. On continue avec les bases du langage Powershell.
Ligne 9: Ligne 10:
 ==== Caractères d'échappements ==== ==== Caractères d'échappements ====
  
 +  * Référence : [[https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-6|Microsoft]]
  
 +|< 100% 20% 80% >|
 +^  Caractère  ^  Explication  ^
 +|  ''`r''  |  Crée un retour charriot, en gros revient au début de la ligne  |
 +|  ''`n''  |  Crée un nouvelle ligne  |
 +|  ''`r`n''  |  Du coup, retour charriot sur une nouvelle ligne, l'équivalent de la touche ''Entrée'' dans un traitement de texte  |
 +|  ''`t''  |  Crée une tabulation horizontale  |
 +|  ''`v''  |  Crée une tabulation verticale  |
 +|  ''`b''  |  Reviens sur un caractère (Backspace). Ce retour est non destructif.  |
 +|  ''`a''  |  Émet un bip (Alarm)  |
 +|  ''`0''  |  Caractère nul. A l'affichage, équivaut à un espace mais différent d'un point de vu codage de caractère  |
 +|  ''`' ''  |  Permet d'afficher '' ' '' sans qu'il ne soit interprété  |
 +|  ''``''  |  Permet d'afficher ''`'' sans qu'il ne soit interprété  |
 +|  ''`"''  |  Permet d'afficher ''"'' sans qu'il ne soit interprété  |
 +
 +==== Les opérateurs ====
 +
 +  * Référence : [[https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_arithmetic_operators?view=powershell-6|Microsoft]]
 +
 +|< 100% 20% 40% 40% >|
 +^  Opérateur  ^  Explication  ^  Exemple  ^
 +|  ''+''  |  Renvoie une nouvelle chaîne contenant la chaîne A suivit de la chaîne B.  |<sxh powershell>$A = "abc"
 +$B = "def"
 +$A + $B
 +abcdef
 +</sxh>|
 +|  ''*''  |  Renvoie une nouvelle chaîne contenant autant d'occurrence de la chaîne A qu'indiqué.  |<sxh powershell>$A = "a"
 +$A * 10
 +aaaaaaaaaa
 +</sxh>|
 +
 +==== Les méthodes ====
 +
 +  * Référence : [[https://docs.microsoft.com/fr-fr/dotnet/api/system.string?view=netframework-4.7.2#m%C3%A9thodes|Microsoft]]
 +
 +|< 100% 20% 40% 40% >|
 +^  Méthode  ^  Explication  ^  Exemple  ^
 +|  ''.Chars()''  |  Renvoie le caractère présent à la position indiquée dans la chaîne A. La première position est numéroté 0.  |<sxh powershell>$A = "abcd"
 +$A.Chars(1)
 +b
 +</sxh>|
 +|  ''.CompareTo()''  |  Compare une chaîne avec une autre. Le résutat peut être -1, 1 ou 0 selon que la référence de la chaîne comparée précède, suit ou apparaît à la même position que la référence de la chaîne traité. En gros, 0 si les chaînes sont identiques, 1 si la chaîne A a plus de caractères que la chaîne B et/ou que ces derniers sont plus élevés dans la hiérarchie des caractères (E>e) et -1 si la chaîne B a plus de caractères que la chaîne A et/ou que ces derniers sont plus élevés dans la hiérarchie des caractères.  |<sxh powershell>$A = "abcd"
 +$B = "abc"
 +$A.CompareTo($B)
 +1
 +</sxh>|
 +|  ''.Contains()''  |  Renvoie ''$true'' ou ''$false'' selon que la chaîne A contient ou pas la chaîne B. Si B est vide, la réponse sera toujours ''$true'' |<sxh powershell>$A = "abcd"
 +$B = "bc"
 +$A.Contains($B)
 +$true
 +</sxh>|
 +|  ''.EndsWith()''  |  Renvoie ''$true'' ou ''$false'' selon que la chaîne A finit ou pas par la chaîne B. Si B est vide, la réponse sera toujours ''$true'' |<sxh powershell>$A = "abcd"
 +$B = "cd"
 +$A.EndsWith($B)
 +$true
 +</sxh>|
 +|  ''.Equals()''  |  Renvoie ''$true'' ou ''$false'' selon que la chaîne A est égal ou pas à la chaîne B. Sensible à la casse.  |<sxh powershell>$A = "abc"
 +$B = "ABC"
 +$A.Equals($B)
 +$false
 +</sxh>|
 +|  ''.IndexOf()''  |  Renvoie la position de la première occurrence de la chaîne B dans la chaîne A. La première position est numéroté 0 et -1 sera renvoyé si aucune occurrence n'est trouvé.  |<sxh powershell>$A = "abc"
 +$B = "c"
 +$A.IndexOf($B)
 +2
 +</sxh>|
 +|  ''.IndexOfAny()''  |  Renvoie la position de la première occurrence trouvé dans la chaîne A parmi les caractères de la chaîne B. La première position est numéroté 0. En gros, il indique la position dès qu'il trouve dans A, une lettre présente dans B. La première position est numéroté 0 et -1 sera renvoyé si aucune occurrence n'est trouvé.  |<sxh powershell>$A = "abcdef"
 +$B = "Cfe"
 +$A.IndexOfAny($B)
 +4
 +</sxh>|
 +|  ''.Insert()''  |  Insert la chaîne B dans la chaîne A à la position indiquée.  |<sxh powershell>$A = "abcdef"
 +$B = "ghi"
 +$A.Insert(3,$B)
 +abcghidef
 +</sxh>|
 +|  ''.GetEnumerator()''  |  Renvoie sur des lignes séparées chaque caractère de A.  |<sxh powershell>$A = "abc"
 +$A.GetEnumerator(3,$B)
 +a
 +b
 +c
 +</sxh>|
 +|  ''.LastIndexOf()''  |  Comme ''IndexOf()'' mais pour la dernière occurence. La première position est numéroté 0 et -1 sera renvoyé si aucune occurrence n'est trouvé.  |<sxh powershell>$A = "abcdefdefacb"
 +$B = "c"
 +$A.LastIndexOf($B)
 +10
 +</sxh>|
 +|  ''.LastIndexOfAny()''  |  Comme ''IndexOfAny()'' mais pour la dernière occurence. La première position est numéroté 0 et -1 sera renvoyé si aucune occurrence n'est trouvé.  |<sxh powershell>$A = "abcdefdefacb"
 +$B = "Cfe"
 +$A.LastIndexOfAny($B)
 +8
 +</sxh>|
 +|  ''.PadLeft()''  |  Ajoute autant d'espace qu'indiqué au début de la chaîne A.  |<sxh powershell>$A = "abc"
 +$A.PadLeft(10)
 +          abc
 +</sxh>|
 +|  ''.PadRight()''  |  Même chose mais à la fin.  |<sxh powershell>$A = "abc"
 +$B = "def"
 +$A.PadRight(10) + $B
 +abc          def
 +</sxh>|
 +|  ''.Remove()''  |  Supprime la quantité indiquée de caractères à partir de la position indiquée.  |<sxh powershell>$A = "abcdefghi"
 +$A.Remove(3,5)
 +abci
 +</sxh>|
 +|  ''.Replace()''  |  Remplace toutes les occurrences d'un caractère par un autre caractère.  |<sxh powershell>$A = "abcabcabc"
 +$A.Replace("a","i")
 +ibcibcibc
 +</sxh>|
 +|  ''.Split()''  |  Sépare la chaîne en plusieurs chaines. La séparation se fait au niveau du caractère indiqué.  |<sxh powershell>$A = "Fichier.txt"
 +$A.Split(".")
 +Fichier
 +txt
 +</sxh>|
 +|  ''.StartsWith()''  |  Renvoie ''$true'' si la chaîne A commence par la chaîne B et ''$false'' dans le cas contraire.  |<sxh powershell>$A = "abcdefghi"
 +$B = "abc"
 +$A.StartsWith($B)
 +$true
 +</sxh>|
 +|  ''.Substring()''  |  Extraie de la chaîne A, à partir de la position indiquée, la quantité de caractère indiquée.  |<sxh powershell>$A = "abcdefghi"
 +$A.Substring(4,3)
 +efg
 +</sxh>|
 +|  ''.ToCharArray()''  |  Transforme une chaîne de caractère en tableau contenant chaque caractère. A l'affichage, ça ressemble à ''.GetEnumerator()'' mais le type d'objet est différent.  |<sxh powershell>$A = "abc"
 +$A.ToCharArray()
 +a
 +b
 +c
 +</sxh>|
 +|  ''.ToLower()''  |  Convertit toutes les majuscules de la chaîne en minuscule.  |<sxh powershell>$A = "AbCdEf"
 +$A.ToLower()
 +abcdef
 +</sxh>|
 +|  ''.ToUpper()''  |  Convertit toutes les minuscules de la chaîne en majuscule.  |<sxh powershell>$A = "AbCdEf"
 +$A.ToUpper()
 +ABCDEF
 +</sxh>|
 +|  ''.Trim()''  |  Supprime les espaces en début et à la fin de la chaîne mais pas ceux au milieu.  |<sxh powershell>$A = "   abc def   "
 +$B = "ghi"
 +$A.Trim() + $B
 +abc   defghi
 +</sxh>|
 +|  ''.TrimEnd()''  |  Supprime les espaces à la fin de la chaîne mais pas ceux du début ou au milieu.  |<sxh powershell>$A = "   abc def   "
 +$B = "ghi"
 +$A.TrimEnd() + $B
 +   abc   defghi
 +</sxh>|
 +|  ''.TrimStart()''  |  Supprime les espaces au début de la chaîne mais pas ceux au milieu ou à la fin.  |<sxh powershell>$A = "   abc def   "
 +$B = "ghi"
 +$A.TrimStart() + $B
 +abc   def   ghi
 +</sxh>|
 +
 +===== Les variables automatiques =====
 +
 +Le système possèdent quelques variables utilisables par l'utilisateur mais seul le système définit leur contenu. En voici quelques-unes.
 +
 +  * Référence : [[https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_automatic_variables?view=powershell-6|Microsoft]]
 +
 +|< 100% 20% 80% >|
 +^  Variable  ^  Explication  ^
 +|  ''$$''  |Contient le dernier jeton de la dernière ligne reçu dans la session.  |
 +|  ''$?''  |État de la dernière commande exécuté. ''$true'' pour succès et ''$false'' pour échec.  |
 +|  ''$^''  |Contient le premier jeton de la dernière ligne reçu dans la session.  |
 +|  ''$_'' ou ''$PSITEM''  |Contient le dernier objet du pipeline.  |
 +|  ''$ARGS''  |Contient les arguments passés à une fonction ou un script.  |
 +|  ''$ERROR''  |Contient les informations du dernier échec. Ceci peut représenter plusieurs erreurs.  |
 +|  ''$FALSE''  |Renvoie toujours le booléen faux.  |
 +|  ''$HOME''  |Renvoie le chemin du dossier utilisateur.  |
 +|  ''$HOST''  |Contient les informations de l'hôte de la session Powershell.  |
 +|  ''$IsCoreCLR''  |Renvoie ''$true'' si la session Powershell s'exécute dans un environnement .NET Core.  |
 +|  ''$IsLinux''  |Renvoie ''$true'' si la session Powershell s'exécute dans un environnement Linux.  |
 +|  ''$IsMacOS''  |Renvoie ''$true'' si la session Powershell s'exécute dans un environnement MacOS.  |
 +|  ''$IsWindows''  |Renvoie ''$true'' si la session Powershell s'exécute dans un environnement Windows.  |
 +|  ''$LASTEXITCODE''  |Renvoie le dernier code de sortie.  |
 +|  ''$NULL''  |Correspond à une variable sans contenu. On peut l'utiliser comme n'importe quelle variable mais aussi y envoyer les résultats d'une commande. Dans ce cas, la commande s'exécute correctement mais n'affiche aucun résultat. |
 +|  ''$PID''  |Renvoie l'identifiant du processus qui contient la session actuelle de Powershell.  |
 +|  ''$PROFILE''  |Renvoie le chemin complet du profil Powershell de l'utilisateur.  |
 +|  ''$PSHOME''  |Renvoie le chemin complet de l'exécutable powershell.exe.  |
 +|  ''$PSVERSIONTABLE''  |Renvoie la version de Powershell.  |
 +|  ''$PWD''  |Renvoie le chemin complet du dossier actuel.  |
 +|  ''$TRUE''  |Renvoie toujours le booléen vrai.  |
 +
 +~~DISCUSSION~~
  • powershell_base2.1550827973.txt.gz
  • Dernière modification : 2019/02/22 08:32
  • (modification externe)