IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

syntaxe foreach powershell


Sujet :

Scripts/Batch

  1. #1
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut syntaxe foreach powershell
    Bonjour,

    D'abord, un sous-forum dédié powershell pourrait être une bonne idée.

    Ensuite, que pensez-vous de la validité de cette syntaxe, qui est un bricolage pour éviter le foreach :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql.Logins | where {$_.DefaultDatabase -eq "master"} | where {$_.DefaultDatabase = "AdventureWorks"}
    y a-t-il un sucre de syntaxe plus officiel pour changer la valeur d'une suite de propriétés sans foreach ?

  2. #2
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par rudib
    D'abord, un sous-forum dédié powershell pourrait être une bonne idée.
    Jusqu'a maintenant je n'ai pas vu beaucoup de demande sur le sujet mais pourquoi pas.
    Citation Envoyé par rudib
    Ensuite, que pensez-vous de la validité de cette syntaxe,
    Que veux-tu faire exactement ? il y a un test et une affectation
    Le foreach est nécessaire pour porter un scriptblock, on ne peut pas créer un segment de pipeline sans présence de cmdlet ou de fonction.
    Citation Envoyé par rudib
    y a-t-il un sucre de syntaxe plus officiel pour changer la valeur d'une suite de propriétés sans foreach ?
    Un exemple ?
    Il y a l'affectation multiple de variable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    PS>$a,$b,$c=1,"deux", (1|select Nom, Age)
    PS>$a
    1
    PS>$b
    deux
    PS>$c
    Nom                                                         Age
    ---                                                         ---
    mais ce n'est peut être pas ce que tu recherches.
    Comme PowerShell est un langage dynamique tu peux créer cette fonctionnalité.
    http://blogs.msdn.com/powershell/arc...owershell.aspx

    Et à un moment ou à un autre tu retrouveras ces affectations :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    PS> 1|select Nom, Age|%{$_.Nom="Dupont";$_.Age=25;$_}
     
    Nom      Age
    ---        ---
    Dupont   25
    Il faut attendre que .NET le propose nativement ...

Discussions similaires

  1. Hash multidimensionnel et foreach = soucis de syntaxe ?
    Par frenchlion dans le forum Langage
    Réponses: 3
    Dernier message: 21/06/2013, 20h03
  2. foreach() erreur syntaxe incompréhensible..
    Par mitchreward dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 28/04/2012, 20h40
  3. Syntaxe particulière ForEach
    Par Gold.strike dans le forum C#
    Réponses: 7
    Dernier message: 15/11/2011, 19h04
  4. Syntaxe sur une boucle foreach
    Par tidou95220 dans le forum Langage
    Réponses: 2
    Dernier message: 24/10/2011, 12h51
  5. Syntaxe foreach
    Par Jcpan dans le forum Langage
    Réponses: 15
    Dernier message: 30/03/2009, 15h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo