J'ai vu le @
utilisé dans PowerShell pour initialiser les tableaux.
Que fait exactement le @
et où puis-je en savoir plus ?
J'ai vu le @
utilisé dans PowerShell pour initialiser les tableaux.
Que fait exactement le @
et où puis-je en savoir plus ?
Dans PowerShell V2, @ est également l'option Opérateur d'éclaboussures .
PS> # First use it to create a hashtable of parameters:
PS> $params = @{path = "c:\temp"; Recurse= $true}
PS> # Then use it to SPLAT the parameters - which is to say to expand a hash table
PS> # into a set of command line parameters.
PS> dir @params
PS> # That was the equivalent of:
PS> dir -Path c:\temp -Recurse:$true
PowerShell traitera en fait toute liste séparée par des virgules comme un tableau :
"server1","server2"
Le @ est donc facultatif dans ces cas. Cependant, pour les tableaux associatifs, le @ est obligatoire :
@{"Key"="Value";"Key2"="Value2"}
Officiellement, @ est l'"opérateur de tableau". Vous pouvez en savoir plus à ce sujet dans la documentation installée avec PowerShell, ou dans un livre comme "Windows PowerShell : TFM", que j'ai co-écrit.
Vous pouvez également envelopper la sortie d'une cmdlet (ou d'un pipeline) dans un fichier @()
pour s'assurer que ce que vous obtenez en retour est un tableau plutôt qu'un seul élément.
Par exemple, dir renvoie généralement une liste, mais selon les options, il peut renvoyer un seul objet. Si vous prévoyez d'itérer à travers les résultats avec un foreach-object, vous devez vous assurer que vous obtenez une liste en retour. Voici un exemple artificiel :
$results = @( dir c:\autoexec.bat)
Une dernière chose... un tableau vide (comme pour initialiser une variable) est noté @()
.
Également utilisé pour les cordes d'ici :
http://blogs.msdn.com/powershell/archive/2008/09/14/rdp-file-generation-use-of-here-strings.aspx http://blogs.msdn.com/powershell/archive/2006/07/15/Variable-expansion-in-strings-and-herestrings.aspx http://www.microsoft.com/technet/scriptcenter/resources/pstips/jun07/pstip0629.mspx
Et Splat :
L'opérateur d'éclaboussures
Pour créer un tableau, on crée une variable et on lui attribue le tableau. Les tableaux sont signalés par le symbole "@". Reprenons la discussion ci-dessus et utilisons un tableau pour nous connecter à plusieurs ordinateurs distants :
$strComputers = @("Server1", "Server2", "Server3")<enter>
Ils sont utilisés pour les tableaux et les hachages.
Tutoriel PowerShell 7 : Accumuler, rappeler et modifier des données
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.