[R] Or non pris en compte

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
turbif08
Niveau 1
Niveau 1
Messages : 13
Enregistré le : lun. 04 nov. 2013 10:30
Status : Hors ligne

[R] Or non pris en compte

#1

Message par turbif08 »

Bonjour,

J'essaye de faire un script d'installation avec exclusion de certains ordinateurs, sauf que n'importe quel ordinateur rentre dans mon If.

Code : Tout sélectionner

If @ComputerName <> "AJSOP002" Or "AJSOP003" Or "AJSO037" Then
   RunAs("administrateur","domaine.local","password",1,"msiexec.exe /i \\srv-files\PowerPivot_for_Excel_x86.msi /passive")
   Sleep(100)
EndIf
Merci d'avance :)
Modifié en dernier par turbif08 le jeu. 07 nov. 2013 09:59, modifié 1 fois.
Avatar du membre
Koumla
Niveau 4
Niveau 4
Messages : 68
Enregistré le : jeu. 15 avr. 2010 11:52
Localisation : France
Status : Hors ligne

Re: [..] Or non pris en compte

#2

Message par Koumla »

Bonjour,

Voir comme ça pour la syntaxe

Code : Tout sélectionner

$a = 0

    If $a = "1" Or $a = "2" Or $a = "3" Then

        ConsoleWrite("meme valeur" & @CRLF)

    Else

        ConsoleWrite("valeur differente" & @CRLF)

    EndIf 
Koumla
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Or non pris en compte

#3

Message par jchd »

Le Or que tu emploies est un OU logique qui va convertir les deux valeurs pour pouvoir effectuer une comparaison qui ait un sens. Appliqué à la condition telle que tu l'as écrite, l'ensemble équivaut à :

If (@ComputerName <> "AJSOP002") Or ("AJSOP003" <> "") Or ("AJSO037" <> "") Then

Tu comprends maintenant pourquoi ta condition est indépendante de @ComputerName car les deux dernières sous-conditions sont toujours vraies.

Ce qu'il faut dans un tel cas est :

Code : Tout sélectionner

Switch @ComputerName
    Case "AJSOP002", "AJSOP003", "AJSO037"
        ; on ne touche pas aux machines taboues
    Case Else
        RunAs("administrateur","domaine.local","password",1,"msiexec.exe /i \\srv-files\PowerPivot_for_Excel_x86.msi /passive")
    Sleep(100)
EndSwitch
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
turbif08
Niveau 1
Niveau 1
Messages : 13
Enregistré le : lun. 04 nov. 2013 10:30
Status : Hors ligne

Re: [..] Or non pris en compte

#4

Message par turbif08 »

Code : Tout sélectionner

If (@ComputerName <> "AJSOP002") Or ("AJSOP003" <> "") Or ("AJSO037" <> "") Then
Sous cet angle en effet ce n'est pas ce que je veux faire du tout, ça fonctionne, merci.
Répondre