WSH Shell : Trier des adresses IP |
Écrit par Gilles LAURENT | |
30-06-2007 | |
WSH Shell : Trier des adresses IP Une question d'un usager sur le forum Powershell (US) était de savoir comment trier une liste d'adresses IP en Powershell. Fil très intéressant car il y eut de multiples réponses visant à optimiser le code ... Un véritable concours en quelque sorte portant sur le nombre de caractères utilisé pour accomplir cette opération ! Vous pouvez retrouver ce fil ici : Cela m'a donc donné l'idée de tenter ma chance en VBScript avec la console WSH Shell. Dans cette exemple, j'ai au préalable chargé une variable de type tableau avec les adresses IP à trier via la procédure Shell.Include. Le fichier "ips.vbs" permet simplement de déclarer la variable ips de type tableau et de définir son contenu : --- Coupez ici : ips.vbs --- Dans une prochaine version de la console WSH Shell, je pense qu'il sera utile d'intégrer une fonction du genre GetFileContent (strFileName) permettant de charger le contenu d'un fichier dans une variable de type tableau ;-) Microsoft (R) Windows Script Host Version 5.6 Copyright (C) Microsoft Corporation 1996-2001. Tous droits réservés. _ _ _ ___ _ _ ___ _ _ _ | | | |/ __>| | | / __>| |_ ___ | || | | | | |\__ \| | \__ \| . |/ ._>| || | |__/_/ <___/|_|_| <___/|_|_|\___.|_||_| Windows Script Host (WSH) Shell v1.0.0.4 starting ... Registering components ... Loading external modules ... Loading _wshWmi.inc ... Welcome ... It's 30/06/2007 17:15:33 and WSH Shell is up ! Ready. WSH D:\Test> ' chargement des adresses IP WSH D:\Test> include "d:\test\ips.vbs": echo $(ips) 124.5.6.8 2.4.53.233 12.24.3.78 234.2.5.7 1.5.5.5 WSH D:\Test> ' affichage sous forme de tableau des adresses IP triées WSH D:\Test> strTableFieldSep="|":dim t():redim t(ubound(ips)+1):t(0)="IPS |sN":i=1:% ip in ips:s=0:e=3:% n in split(ip,"."):s=s+n*256^e:e=e-1:}:t(i)=ip&"| "&s:i=i+1:}:ft t,"s","","IP" IP -- 1.5.5.5 2.4.53.233 12.24.3.78 124.5.6.8 234.2.5.7 WSH D:\Test> |
|
Dernière mise à jour : ( 30-06-2007 ) |