Page 1 sur 1
[R] Boucle lisant un rang d'adresse IP
Posté : jeu. 17 avr. 2008 15:13
par stephim
Bonjour à tous,
Actuellement, je dois copier des fichiers depuis un serveur sur plusieurs PC. Pour ce faire, je me suis dit que je pouvais utiliser la boucle FOR en suivant l'algorithme suivant:
@IP_deb = 1ere adresse IP
@IP_fin = derniere adresse IP
DE @IP_deb JUSQU'A @IP_fin FAIRE
Liste d'instructions
NEXT
Mais je n'arrive pas à mettre cet algorithme en application à cause du format des variable @IP_deb et @IP_fin
Si vous aviez une idée..
Merci
Stephim
Re: [..] une boucle lisant un rang d'adresse IP
Posté : jeu. 17 avr. 2008 18:27
par tofu
Bonsoir,
J'ai réalisé un petit exemple mettant en œuvre l'algorithme que tu recherches.
► Afficher le texte
Code : Tout sélectionner
#include <Array.au3>
$ipS = "192.168.0.1"
$ipE = "192.167.1.1"
$ipAff = StringSplit($ipS,".")
$ipEND = StringSplit($ipE,".")
Do
$ipCourante = _ArrayToString($ipAff,".",1) ; On démarre à la première case du tableau et non à la case 0 qui contient le nombre de cases
;Ici j'affiche l'IP en question, mais on peut remplacer ça par n'importe quelle instruction
ConsoleWrite($ipCourante & @CRLF)
$ipAff[4] = $ipAff[4] +1 ; On incrémente la dernière partie de l'IP
If $ipAff[4] > 255 Then ; Si celle-ci dépasse 255 on ajoute 1 à la troisième partie et on remet la 4ème partie à zero
$ipAff[4] = 0
$ipAff[3] = $ipAff[3] +1
EndIf
If $ipAff[3] > 255 Then ; Si la 3ème dépasse 255 on ajoute 1 à la seconde partie et on remet la 3ème partie à zero
$ipAff[3] = 0
$ipAff[2] = $ipAff[2] +1
EndIf
If $ipAff[2] > 255 Then ; Si la 2nd dépasse 255 on ajoute 1 à la première partie et on remet la 2ème partie à zero
$ipAff[2] = 0
$ipAff[1] = $ipAff[1] +1
EndIf
If $ipAff[1] > 255 Then ; Si la 1ère partie dépasse 255 on sort de la boucle (on pourrait rajouter une gestion d'erreur à ce niveau là d'ailleurs)
ExitLoop
EndIf
Until $ipAff[1] <> $ipEND[1] AND $ipAff[2] <> $ipEND[2] AND $ipAff[3] <> $ipEND[3] AND $ipAff[4] <> $ipEND[4] ; On contrôle partie par partie l'égalité des deux IP
/!\
Attention: Aucun contrôle n'est réalisé pour vérifier que les adresses sont entrées dans un format correct, et/ou que l'ip de fin est supérieure à l'ip de début. Le code est à but instructif et non à utiliser tel quel !
En espérant que ça puisse t'aider dans la réalisation de ton script.
Cordialement,
Re: [..] Boucle lisant un rang d'adresse IP
Posté : mar. 22 avr. 2008 15:56
par stephim
Merci bien...
