Bonjour à tous,
Je ne suis pas développeur mais je suis amené à créer qq scripts ponctuellement pour me faciliter la tâche.
Voici le contexte :
Je lancer des pings vers x serveurs et ajoute ceux qui ne répondent pas dans un fichier.
Je supprime le fichier à chque lancement du script.
Mais....j'aimerai savoir depuis combien de temps le serveur est down et donc y ajouter la date à laquelle le ping n'est plus passé (jusque là c'est facile)
mon problème est l'effacement de l'entrée...
px fichier.txt
ServerA;06/08/08 08:06:04
ServerB;06/08/08 10:04:08
ServerC;06/08/08 11:15:55
Si le ServerA est toujours Hs alors je laisse l'entrée
Si le ServerB répond maintenant, il faut que je puisse supprimer l'intégralité de la ligne mais comment ?????
je sais remplacer une chaine par une autre (typiquement ServerB par [vide]) mais je dois aussi supprimer ;06/08/08 10:04:08...
pouvez-vous m'aider ? ca doit être tout bête mais je câle !
merci par avance
à+
[..] Trouver et remplacer une chaine de caractères.
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
[..] Trouver et remplacer une chaine de caractères.
Modifié en dernier par ani le mer. 06 août 2008 11:17, modifié 1 fois.
Raison : Ajout de la balise [..] dans le titre, merci de bien vouloir lire le post sur la présentation d'un post
Raison : Ajout de la balise [..] dans le titre, merci de bien vouloir lire le post sur la présentation d'un post
- Tlem
- Site Admin
- Messages : 11793
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Trouver et remplacer une chaine de caractères.
Pour lire ligne par ligne, utilisez la fonction FileReadLine("filename" , $iLine) puis pour supprimer une ligne spécifique, utilisez la fonction _FileWriteToLine() comme ceci :
Voici ce qui est dit dans l'aide :
Remarks
If _FileWriteToLine is called with $fOverWrite as 1 and $sText as "", it will delete the line.
Code : Tout sélectionner
#Include <File.au3>
_FileWriteToLine($sFile, $iLine, "", 1)
Remarks
If _FileWriteToLine is called with $fOverWrite as 1 and $sText as "", it will delete the line.
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Re: [..] Trouver et remplacer une chaine de caractères.
Bonjour,
merci pour l'information...je connaissais cette fonction mais je ne sais pas renvoyer le numéro de ligne de l'occurence recherchée...
Si j'ai ça...c'est tout bon !
merci beaucoup
merci pour l'information...je connaissais cette fonction mais je ne sais pas renvoyer le numéro de ligne de l'occurence recherchée...
Si j'ai ça...c'est tout bon !
merci beaucoup
- Tlem
- Site Admin
- Messages : 11793
- Enregistré le : ven. 20 juil. 2007 21:00
- Localisation : Bordeaux
- Status : Hors ligne
Re: [..] Trouver et remplacer une chaine de caractères.
Puisque vous lisez votre fichier ligne par ligne, vous devez donc forcément connaitre le N° de la ligne que vous êtes en train de lire !!!
Je ne vois pas ou est votre problème ...
Une autre solution serait de lire votre fichier dans un tableau :Puis de travailler sur celui-ci.
Si vous devez supprimer une ligne :Astuce : Lire le tableau en sens inverse pour ne pas être embêté par la taille du tableau.
En effet, si votre tableau à un dimension de 10 par exemple, et que vous supprimez l'éléments 5, alors les éléments suivant se voient décalés vers le bas (6 devient 5, 7 devient 6, etc ...), et dans la boucle de lecture ça finit par provoquer une erreur.
Et pour finir, il vous suffira de re-générer le fichier avec ceci :
Je ne vois pas ou est votre problème ...
Une autre solution serait de lire votre fichier dans un tableau :
Code : Tout sélectionner
#Include <File.au3>
_FileReadToArray($sFilePath, ByRef $aArray)
Si vous devez supprimer une ligne :
Code : Tout sélectionner
#Include <Array.au3>
_ArrayDelete(ByRef $avArray, $iElement)
En effet, si votre tableau à un dimension de 10 par exemple, et que vous supprimez l'éléments 5, alors les éléments suivant se voient décalés vers le bas (6 devient 5, 7 devient 6, etc ...), et dans la boucle de lecture ça finit par provoquer une erreur.
Et pour finir, il vous suffira de re-générer le fichier avec ceci :
Code : Tout sélectionner
#Include <File.au3>
_FileWriteFromArray($File, $a_Array[, $i_Base = 0[, $i_UBound = 0]])
Thierry
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...
Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".