| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| powershell_base2 [2019/02/24 19:08] – [Les opérateurs] nekan | powershell_base2 [2021/03/05 15:52] (Version actuelle) – nekan |
|---|
| ====== 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. |
| * Référence : [[https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-6|Microsoft]] | * Référence : [[https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_special_characters?view=powershell-6|Microsoft]] |
| |
| |< 100% 30% 70% >| | |< 100% 20% 80% >| |
| ^ Caractère ^ Explication ^ | ^ Caractère ^ Explication ^ |
| | ''`r'' | Crée un retour charriot, en gros revient au début de la ligne | | | ''`r'' | Crée un retour charriot, en gros revient au début de la ligne | |
| | ''`t'' | Crée une tabulation horizontale | | | ''`t'' | Crée une tabulation horizontale | |
| | ''`v'' | Crée une tabulation verticale | | | ''`v'' | Crée une tabulation verticale | |
| | ''`b'' | Reviens sur un carcatère (Backspace). Ce retour est non destructif. Je cherche encore son utilité... | | | ''`b'' | Reviens sur un caractère (Backspace). Ce retour est non destructif. | |
| | ''`a'' | Émet un bip (Alarm) | | | ''`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 | | | ''`0'' | Caractère nul. A l'affichage, équivaut à un espace mais différent d'un point de vu codage de caractère | |
| |< 100% 20% 40% 40% >| | |< 100% 20% 40% 40% >| |
| ^ Opérateur ^ Explication ^ Exemple ^ | ^ Opérateur ^ Explication ^ Exemple ^ |
| | ''+'' | Renvoie une nouvelle chaîne contenant la chaîne A suivit de la chaîne B. |<code:ps1>$A = "abc" | | ''+'' | Renvoie une nouvelle chaîne contenant la chaîne A suivit de la chaîne B. |<sxh powershell>$A = "abc" |
| $B = "def" | $B = "def" |
| $A + $B | $A + $B |
| abcdef | abcdef |
| </code>| | </sxh>| |
| | ''*'' | Renvoie une nouvelle chaîne contenant autant d'occurrence de la chaîne A qu'indiqué. |<code:ps1>$A = "a" | | ''*'' | Renvoie une nouvelle chaîne contenant autant d'occurrence de la chaîne A qu'indiqué. |<sxh powershell>$A = "a" |
| $A * 10 | $A * 10 |
| aaaaaaaaaa | aaaaaaaaaa |
| </code>| | </sxh>| |
| |
| ==== Les méthodes ==== | ==== 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]] | * 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% >| | |< 100% 20% 40% 40% >| |
| ^ Méthode ^ Explication ^ Exemple ^ | ^ 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. |<code:ps1>$A = "abcd" | | ''.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) | $A.Chars(1) |
| b | b |
| </code>| | </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. |<code:ps1>$A = "abcd" | | ''.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" | $B = "abc" |
| $A.CompareTo($B) | $A.CompareTo($B) |
| 1 | 1 |
| </code>| | </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''. |<code:ps1>$A = "abcd" | | ''.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" | $B = "bc" |
| $A.Contains($B) | $A.Contains($B) |
| $true | $true |
| </code>| | </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''. |<code:ps1>$A = "abcd" | | ''.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" | $B = "cd" |
| $A.EndsWith($B) | $A.EndsWith($B) |
| $true | $true |
| </code>| | </sxh>| |
| | ''.Equals()'' | Renvoie ''$true'' ou ''$false'' selon que la chaîne A est égal ou pas à la chaîne B. Sensible à la casse. |<code:ps1>$A = "abc" | | ''.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" | $B = "ABC" |
| $A.Equals($B) | $A.Equals($B) |
| $false | $false |
| </code>| | </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é. |<code:ps1>$A = "abc" | | ''.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" | $B = "c" |
| $A.IndexOf($B) | $A.IndexOf($B) |
| 2 | 2 |
| </code>| | </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é. |<code:ps1>$A = "abcdef" | | ''.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" | $B = "Cfe" |
| $A.IndexOfAny($B) | $A.IndexOfAny($B) |
| 4 | 4 |
| </code>| | </sxh>| |
| | ''.Insert()'' | Insert la chaîne B dans la chaîne A à la position indiquée. |<code:ps1>$A = "abcdef" | | ''.Insert()'' | Insert la chaîne B dans la chaîne A à la position indiquée. |<sxh powershell>$A = "abcdef" |
| $B = "ghi" | $B = "ghi" |
| $A.Insert(3,$B) | $A.Insert(3,$B) |
| abcghidef | abcghidef |
| </code>| | </sxh>| |
| | ''.GetEnumerator()'' | Renvoie sur des lignes séparées chaque caractère de A. |<code:ps1>$A = "abc" | | ''.GetEnumerator()'' | Renvoie sur des lignes séparées chaque caractère de A. |<sxh powershell>$A = "abc" |
| $A.GetEnumerator(3,$B) | $A.GetEnumerator(3,$B) |
| a | a |
| b | b |
| c | c |
| </code>| | </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é. |<code:ps1>$A = "abcdefdefacb" | | ''.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" | $B = "c" |
| $A.LastIndexOf($B) | $A.LastIndexOf($B) |
| 10 | 10 |
| </code>| | </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é. |<code:ps1>$A = "abcdefdefacb" | | ''.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" | $B = "Cfe" |
| $A.LastIndexOfAny($B) | $A.LastIndexOfAny($B) |
| 8 | 8 |
| </code>| | </sxh>| |
| | ''.PadLeft()'' | Ajoute autant d'espace qu'indiqué au début de la chaîne A. |<code:ps1>$A = "abc" | | ''.PadLeft()'' | Ajoute autant d'espace qu'indiqué au début de la chaîne A. |<sxh powershell>$A = "abc" |
| $A.PadLeft(10) | $A.PadLeft(10) |
| abc | abc |
| </code>| | </sxh>| |
| | ''.PadRight()'' | Même chose mais à la fin. |<code:ps1>$A = "abc" | | ''.PadRight()'' | Même chose mais à la fin. |<sxh powershell>$A = "abc" |
| $B = "def" | $B = "def" |
| $A.PadRight(10) + $B | $A.PadRight(10) + $B |
| abc def | abc def |
| </code>| | </sxh>| |
| | ''.Remove()'' | Supprime la quantité indiquée de caractères à partir de la position indiquée. |<code:ps1>$A = "abcdefghi" | | ''.Remove()'' | Supprime la quantité indiquée de caractères à partir de la position indiquée. |<sxh powershell>$A = "abcdefghi" |
| $A.Remove(3,5) | $A.Remove(3,5) |
| abci | abci |
| </code>| | </sxh>| |
| | ''.Replace()'' | Remplace toutes les occurrences d'un caractère par un autre caractère. |<code:ps1>$A = "abcabcabc" | | ''.Replace()'' | Remplace toutes les occurrences d'un caractère par un autre caractère. |<sxh powershell>$A = "abcabcabc" |
| $A.Replace("a","i") | $A.Replace("a","i") |
| ibcibcibc | ibcibcibc |
| </code>| | </sxh>| |
| | ''.Split()'' | Sépare la chaîne en plusieurs chaines. La séparation se fait au niveau du caractère indiqué. |<code:ps1>$A = "Fichier.txt" | | ''.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(".") | $A.Split(".") |
| Fichier | Fichier |
| txt | txt |
| </code>| | </sxh>| |
| | ''.StartsWith()'' | Renvoie ''$true'' si la chaîne A commence par la chaîne B et ''$false'' dans le cas contraire. |<code:ps1>$A = "abcdefghi" | | ''.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" | $B = "abc" |
| $A.StartsWith($B) | $A.StartsWith($B) |
| $true | $true |
| </code>| | </sxh>| |
| | ''.Substring()'' | Extraie de la chaîne A, à partir de la position indiquée, la quantité de caractère indiquée. |<code:ps1>$A = "abcdefghi" | | ''.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) | $A.Substring(4,3) |
| efg | efg |
| </code>| | </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. |<code:ps1>$A = "abc" | | ''.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.ToCharArray() |
| a | a |
| b | b |
| c | c |
| </code>| | </sxh>| |
| | ''.ToLower()'' | Convertit toutes les majuscules de la chaîne en minuscule. |<code:ps1>$A = "AbCdEf" | | ''.ToLower()'' | Convertit toutes les majuscules de la chaîne en minuscule. |<sxh powershell>$A = "AbCdEf" |
| $A.ToLower() | $A.ToLower() |
| abcdef | abcdef |
| </code>| | </sxh>| |
| | ''.ToUpper()'' | Convertit toutes les minuscules de la chaîne en majuscule. |<code:ps1>$A = "AbCdEf" | | ''.ToUpper()'' | Convertit toutes les minuscules de la chaîne en majuscule. |<sxh powershell>$A = "AbCdEf" |
| $A.ToUpper() | $A.ToUpper() |
| ABCDEF | ABCDEF |
| </code>| | </sxh>| |
| | ''.Trim()'' | Supprime les espaces en début et à la fin de la chaîne mais pas ceux au milieu. |<code:ps1>$A = " abc def " | | ''.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" | $B = "ghi" |
| $A.Trim() + $B | $A.Trim() + $B |
| abc defghi | abc defghi |
| </code>| | </sxh>| |
| | ''.TrimEnd()'' | Supprime les espaces à la fin de la chaîne mais pas ceux du début ou au milieu. |<code:ps1>$A = " abc def " | | ''.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" | $B = "ghi" |
| $A.TrimEnd() + $B | $A.TrimEnd() + $B |
| abc defghi | abc defghi |
| </code>| | </sxh>| |
| | ''.TrimStart()'' | Supprime les espaces au début de la chaîne mais pas ceux au milieu ou à la fin. |<code:ps1>$A = " abc def " | | ''.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" | $B = "ghi" |
| $A.TrimStart() + $B | $A.TrimStart() + $B |
| abc def ghi | abc def ghi |
| </code>| | </sxh>| |
| |
| ===== Les variables automatiques ===== | ===== 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. | 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]] | * 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% >| | |< 100% 20% 80% >| |
| | ''$PWD'' |Renvoie le chemin complet du dossier actuel. | | | ''$PWD'' |Renvoie le chemin complet du dossier actuel. | |
| | ''$TRUE'' |Renvoie toujours le booléen vrai. | | | ''$TRUE'' |Renvoie toujours le booléen vrai. | |
| |
| |
| --- //[[nekan@shyrkasystem.com|Nicolas THOREZ]] 2019/02/22 19:08// | |
| |
| ~~DISCUSSION~~ | ~~DISCUSSION~~ |