[Déplacé .Net --> VBS] Joker en VBS

Résolu
xios666 Messages postés 13 Date d'inscription jeudi 11 juin 2009 Statut Membre Dernière intervention 9 janvier 2011 - 16 févr. 2010 à 10:44
xios666 Messages postés 13 Date d'inscription jeudi 11 juin 2009 Statut Membre Dernière intervention 9 janvier 2011 - 16 févr. 2010 à 12:03
Bonjour à tous,

Je voudrais savoir comme le dit le titre si il y a un carcatère spéciaux en VBS car je voudrais récupérer des adresses ip puis faire mon schmilblick après

Voici le script sa sera plus parlant :

' List IP Addresses for a Computer


strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\" & strComputer & "\root\cimv2")

Set IPConfigSet = objWMIService.ExecQuery _
    ("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=TRUE")
 
For Each IPConfig in IPConfigSet
    If Not IsNull(IPConfig.IPAddress) Then 
        For i=LBound(IPConfig.IPAddress) to UBound(IPConfig.IPAddress)
            If (IPConfig.IPAddress(i) = "172.22.17.41") Then
            	WScript.Echo "vous faites parti de bidule"
            	Else 
            	WScript.Echo "vous faites parti de bidule2"
            End if
        Next
    End If
Next


A la place du "41" je voudrais mettre un caractère pour qu'il prenne en compte juste les chiffres avant.

Merci beaucoup

6 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 230
16 févr. 2010 à 11:33
Bonjour,
Il me semble (mais je peux me tromper) que tu devrais t'intéresser à la fonction InstrRev (pour extraire la position du dernier . (point). Puis prendre tout ce qui se trouve à gauche de cette position - 1.

Fais par ailleurs cette petite expérience avec l'utilisation du caractère NULL
toto = "blablablibli"
 MsgBox toto
 toto = Left(toto, 6) & Chr(-0) & Right(toto, 6)
 MsgBox "   bien que toto ait une longueur de " & Len(toto) & ", on n'y lit que " & toto


Et si j'ai deviné de que tu cherches à faire (bien que je n'en sois pas certain) : conjugue les deux méthodes
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 230
16 févr. 2010 à 11:38
Ah oui...
Ajoute maintenant cette ligne au test précédent :
MsgBox "mais si je veux toto complet " & Left(toto, InStr(toto, Chr(0)) - 1) & Mid(toto, InStr(toto, Chr(0)) + 1)

Tu devrais vite comprendre !
____________________
Vous aimez Codes-Sources ? Il vous aide ? Cliquez ici pour l'aider à continuer
Cliquer sur "Réponse acceptée" en bas d'une solution adéquate est
3
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
16 févr. 2010 à 10:54
Salut

Pas clair :

"Juste avant 41" :
- de 1 à 40
- ou les chiffres placés devant (et pas avant), 172.22.17 ?

"prenne en compte" : Définition ?

Caractères génériques avec opérateur Like :
* remplace 1 ou plusieurs caractèes
? remplace 1 seul caractère
Exemple :
If (IPConfig.IPAddress(i) Like "*.*.*.41") Then

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
xios666 Messages postés 13 Date d'inscription jeudi 11 juin 2009 Statut Membre Dernière intervention 9 janvier 2011
16 févr. 2010 à 11:20
Merci c'est exactement ce qu'il me fallait, je vais essayer.

Enfaite je voulais un joker pour le 41 comme ceci :

"If (IPConfig.IPAddress(i) = "172.22.17.*") Then


Donc avec ce que tu me dit je peut faire :

If (IPConfig.IPAddress(i) like "172.22.17.*") Then


Merci encore
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
xios666 Messages postés 13 Date d'inscription jeudi 11 juin 2009 Statut Membre Dernière intervention 9 janvier 2011
16 févr. 2010 à 11:25
Euh sa ne fonctionne pas...

Il m'affiche une erreur "sub ou fonction non définie" sur la ligne "If (IPConfig.IPAddress(i) like "172.22.17.*") Then"
0
xios666 Messages postés 13 Date d'inscription jeudi 11 juin 2009 Statut Membre Dernière intervention 9 janvier 2011
16 févr. 2010 à 12:03
Niquel je peut bien récupérer la valeur que je veut pour la comparer.

Merci
0