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 :

Algo : condition avec "contient seulement"


Sujet :

Scripts/Batch

  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Décembre 2006
    Messages
    1 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 080
    Points : 287
    Points
    287
    Par défaut Algo : condition avec "contient seulement"
    Bonjour,

    Question bête, mais comment je peux faire pour dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $tab = @(1,2,3)
    SI($tab -contient seulement 1 et 2) alors
       OK
    SINON
       KO
    Merci pour vos lumières.

  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
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    Citation Envoyé par arnaudperfect Voir le message
    Question bête
    pas tant que ça, le seulement n'est pas implémenté dans les opérateurs.

    Soit avec un cmdlet:
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    $tab = @(1,2,3)
    $tab2 = @(2,3)
    $tab3 = @(1,2)
    $tab4 = @(2,1)
     
    $Set = @(1,2)
    $Set2 = @(2,1)
     
    #On recherche les cas où il n'y a pas de différence
    @(Compare-Object $set $tab3).Count -eq 0)
     
    #Test
    $ofs=','
    'Tab','Tab2','Tab3','Tab4'|
    Foreach {
     $T=Get-variable $_
     '{0} : {1} contient seulement {2} : {3}' -F $T.Name,"$($T.Value)","$set",(@(compare $set $T.Value).Count -eq 0)
     }

    Soit avec une classe dotnet 3.5 :
    Code powershell : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $Hset1 = New-Object System.Collections.Generic.HashSet`[object](,$tab3)
    $Hset2 = New-Object System.Collections.Generic.HashSet`[object](,$set)
    $Hset1.SetEquals($Hset2)
     
    #Test
    $Hset2.SetEquals($Hset1)
     
    $SbEqual={
      $Hset1 = New-Object System.Collections.Generic.HashSet`[object](,$Args[0])
      $Hset2 = New-Object System.Collections.Generic.HashSet`[object](,$Args[1])
      $Hset1.SetEquals($Hset2)
    }
    &$SbEqual $tab3 $set
    Compare-Object permet de s'affranchir des types, mais HashSet est plus rapide.

Discussions similaires

  1. Select et insert avec des caracteres speciaux (quote ')
    Par Paco75 dans le forum Requêtes
    Réponses: 2
    Dernier message: 25/10/2006, 14h59
  2. Probleme avec encodage de simple quote
    Par linkowich dans le forum Langage
    Réponses: 2
    Dernier message: 31/10/2005, 13h16
  3. Réponses: 3
    Dernier message: 30/06/2005, 12h50

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