> Tech > Lire à  partir d’un fichier texte

Lire à  partir d’un fichier texte

Tech - Par Renaud ROSSET - Publié le 24 juin 2010
email

S'il y a un nombre appréciable de noms de serveurs à  vérifier ou si l'on veut toujours vérifier le serveur, il vaut mieux stocker les noms dans un fichier que de les taper avant chaque exécution du script. Si vous exécutez toujours le script à  partir d'un ordinateur, vous pouvez

stocker les noms de serveurs
dans un fichier appelé servers.txt (un nom de serveur
par ligne) puis appeler ce fichier à  partir du script. Pour lire
le fichier, utilisez un objet COM VBScript appelé FSO (File
System Object). VBScript ne sait pas interagir avec des fichiers,
mais il sait interagir avec des objets COM. Les FSO
peuvent représenter des fichiers ou des dossiers. Dans ce
cas, vous utiliserez le FSO pour pointer vers le, et lire à  partir
du, fichier de texte dans lequel vous avez stocké les noms
de serveurs. Comme le nom du fichier ne changera pas, vous
pouvez le stocker dans le script comme une constante au
lieu d’une variable, comme le montre le listing 4.

Si vous voulez créer un script qui puisse lire des fichiers
provenant de différentes sources sans être obligés de modifier
le script, vous pouvez utiliser comme premier argument
le nom du fichier et, comme second argument, le chemin
conduisant au fichier en question. Définissez simplement la
valeur de INPUT_FILE_NAME égale à  Wscript.Arguments(1)
parce que cet argument contiendra le chemin.

Avant de travailler avec la chaîne des noms qui constitueront
la variable sComputerName, vous devez mettre les
noms dans un tableau. Sous la forme la plus simple et la plus
courante, les arrays sont des tableaux de données d’une colonne,
dont les lignes sont identifiées par des numéros d’index
allant de 0 au dernier numéro de ligne
– la limite supérieure du tableau. Vous
pouvez créer un tableau puis le peupler
manuellement ou à  partir d’un bloc de
données existant. Dans ce dernier cas, utilisez
la fonction Split pour diviser le
contenu de la variable sComputerName
en tranches, avec le retour chariot/saut de
ligne (vbCrLf) comme délimiteur. Le code
qui convertit le contenu de sComputer-
Name en tableau aComputers se présente
ainsi :

aComputers = Split(sComputerName, vbCrLf


Maintenant que le tableau existe, vous pouvez utiliser
une instruction For Each…Next sur son contenu pour imprimer
le nom de chaque ordinateur et afficher ses services et
leur état.

Téléchargez cette ressource

Préparer l’entreprise aux technologies interconnectées

Préparer l’entreprise aux technologies interconnectées

Avec la « quatrième révolution industrielle », les environnements hyperconnectés entraînent de nouveaux risques en matière de sécurité. Découvrez, dans ce guide Kaspersky, comment faire face à cette nouvelle ère de vulnérabilité.

Tech - Par Renaud ROSSET - Publié le 24 juin 2010