Recherche…
Syntaxe
"(Double-quoted) String"
'Chaîne littérale'
@ "
Chaîne de caractères
"@@ '
Littéral ici-chaîne
'@
Remarques
Les chaînes sont des objets représentant du texte.
Créer une chaîne de base
Chaîne
Les chaînes sont créées en encapsulant le texte avec des guillemets doubles. Les chaînes entre guillemets peuvent évaluer les variables et les caractères spéciaux.
$myString = "Some basic text"
$mySecondString = "String with a $variable"
Pour utiliser un guillemet double à l'intérieur d'une chaîne, il doit être échappé en utilisant le caractère d'échappement backtick ( `
). Les guillemets simples peuvent être utilisés dans une chaîne entre guillemets.
$myString = "A `"double quoted`" string which also has 'single quotes'."
Chaîne littérale
Les chaînes littérales sont des chaînes qui n'évaluent pas les variables et les caractères spéciaux. Il est créé à l'aide de guillemets simples.
$myLiteralString = 'Simple text including special characters (`n) and a $variable-reference'
Pour utiliser des guillemets simples dans une chaîne littérale, utilisez des guillemets simples ou une chaîne littérale ici. Les qutos doubles peuvent être utilisés en toute sécurité dans une chaîne littérale
$myLiteralString = 'Simple string with ''single quotes'' and "double quotes".'
Format chaîne
$hash = @{ city = 'Berlin' }
$result = 'You should really visit {0}' -f $hash.city
Write-Host $result #prints "You should really visit Berlin"
Les chaînes de format peuvent être utilisées avec l'opérateur -f
ou la méthode static [String]::Format(string format, args)
.NET.
Chaîne multiligne
Il existe plusieurs façons de créer une chaîne multiligne dans PowerShell:
Vous pouvez utiliser les caractères spéciaux pour un retour chariot et / ou une nouvelle ligne manuellement ou utiliser la variable
NewLine
pour insérer la valeur "newline" du système."Hello`r`nWorld" "Hello{0}World" -f [environment]::NewLine
Créer un saut de ligne en définissant une chaîne (avant de fermer le devis)
"Hello World"
Utiliser une chaîne ici. C'est la technique la plus courante.
@" Hello World "@
Chaîne de caractères
Les chaînes ici sont très utiles lors de la création de chaînes multilignes. Un des principaux avantages par rapport aux autres chaînes multilignes est que vous pouvez utiliser des guillemets sans avoir à les échapper avec un backtick.
Chaîne de caractères
Ici, les chaînes commencent par @"
et un saut de ligne et se terminent par "@
sur sa propre ligne ( "@
doit être les premiers caractères de la ligne, même pas les espaces / tab ).
@"
Simple
Multiline string
with "quotes"
"@
Littéral ici-chaîne
Vous pouvez également créer une chaîne de caractères littérale ici en utilisant des guillemets simples, lorsque vous ne souhaitez pas que des expressions soient développées de la même manière qu'une chaîne littérale normale.
@'
The following line won't be expanded
$(Get-Date)
because this is a literal here-string
'@
Chaînes concaténantes
Utilisation de variables dans une chaîne
Vous pouvez concaténer des chaînes en utilisant des variables dans une chaîne entre guillemets. Cela ne fonctionne pas avec les propriétés.
$string1 = "Power"
$string2 = "Shell"
"Greetings from $string1$string2"
Utiliser l'opérateur +
Vous pouvez également joindre des chaînes à l'aide de l'opérateur +
.
$string1 = "Greetings from"
$string2 = "PowerShell"
$string1 + " " + $string2
Cela fonctionne également avec les propriétés des objets.
"The title of this console is '" + $host.Name + "'"
Utiliser des sous-expressions
Le résultat / résultat d'une sous-expression $()
peut être utilisé dans une chaîne. Ceci est utile pour accéder aux propriétés d'un objet ou effectuer une expression complexe. Les sous-expressions peuvent contenir plusieurs instructions séparées par un point-virgule ;
"Tomorrow is $((Get-Date).AddDays(1).DayOfWeek)"
Caractères spéciaux
Utilisé dans une chaîne entre guillemets, le caractère d'échappement (backtick `
) représente un caractère spécial.
`0 #Null
`a #Alert/Beep
`b #Backspace
`f #Form feed (used for printer output)
`n #New line
`r #Carriage return
`t #Horizontal tab
`v #Vertical tab (used for printer output)
Exemple:
> "This`tuses`ttab`r`nThis is on a second line"
This uses tab
This is on a second line
Vous pouvez également échapper à des caractères spéciaux ayant des significations spéciales:
`# #Comment-operator
`$ #Variable operator
`` #Escape character
`' #Single quote
`" #Double quote