[..] Extraction et tri d'une chaine de caractére

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Doccc
Niveau 2
Niveau 2
Messages : 21
Enregistré le : mar. 02 sept. 2008 16:22
Status : Hors ligne

Re: [..] Extraction et tri d'une chaine de caractére

#21

Message par Doccc »

Oui mais là il va prendre le premier du fichier texte, non ?
Il faut donc créer une boucle, comme dans le script précédent.

Si je veut qu'il soit autonome et que sur certains serveurs j'ai pas besoin de telnet, je peut mettre les noms des serveurs à pas toucher dans un fichier, et apres un script me les enleve de mon fichier serveur.txt et apres je lance ma boucle de Telnet ?

C'est toujours pareil, une boucle remplacement de caractéres par un champ vide, apres une boucle et telnet à chaque nom de Serv.
Doccc
Niveau 2
Niveau 2
Messages : 21
Enregistré le : mar. 02 sept. 2008 16:22
Status : Hors ligne

Re: [..] Extraction et tri d'une chaine de caractére

#22

Message par Doccc »

J'arrive pas à déclarer mon tableau, pour qu'il effectuer la commande à tout les serveur présent dans le fichier.

Code : Tout sélectionner

$myvar = 
$hFile = FileRead($DstServ)

For $j = 0 to Ubound($myvar)-1
Global $iPID = Run(@ComSpec & " /c telnet " & $hFile)
WinWaitActive("C:\WINDOWS\system32\cmd.exe")
Send ("root{ENTER}CHAQUEF{ENTER}exit")

 
Doccc
Niveau 2
Niveau 2
Messages : 21
Enregistré le : mar. 02 sept. 2008 16:22
Status : Hors ligne

Re: [..] Extraction et tri d'une chaine de caractére

#23

Message par Doccc »

Un petit up, je m'en sort pas avec mon tableau :cry:
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Extraction et tri d'une chaine de caractére

#24

Message par Tlem »

Une variable vide se déclare comme ceci :

Code : Tout sélectionner

Dim $myvar
; Ou 
$myvar = ""
Une boucle For se termine par Next.
Pour lire un fichier ligne par ligne on utilise FileReadLine.

Pour le reste, je ne vois pas très bien ce que vous cherchez à faire en Telnet !!!
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é".
Doccc
Niveau 2
Niveau 2
Messages : 21
Enregistré le : mar. 02 sept. 2008 16:22
Status : Hors ligne

Re: [..] Extraction et tri d'une chaine de caractére

#25

Message par Doccc »

Pour le reste, je ne vois pas très bien ce que vous cherchez à faire en Telnet !!!
Send ("root{ENTER}mot_de_passe{ENTER}halt{ENTER}exit")

Sur toute la liste présent dans le fichier texte ;)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Extraction et tri d'une chaine de caractére

#26

Message par Tlem »

Dans ce cas, décomposez la chaîne send, et faites des petites pause entre l'envois des commandes.
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é".
Doccc
Niveau 2
Niveau 2
Messages : 21
Enregistré le : mar. 02 sept. 2008 16:22
Status : Hors ligne

Re: [..] Extraction et tri d'une chaine de caractére

#27

Message par Doccc »

Bonjour,

Mon Send marche mais le probléme c'est qui prend que le premier serveur ( ligne 1), au lieu de boucler et d'incrémenter la ligne.

Merci
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Extraction et tri d'une chaine de caractére

#28

Message par Tlem »

Comme je vous l'ai déjà dit précédemment, utilisez FileReadLine au lieu de FileRead.
Regardez comment est fait l'exemple de l'utilisation de FileReadLine dans la documentation.
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é".
Doccc
Niveau 2
Niveau 2
Messages : 21
Enregistré le : mar. 02 sept. 2008 16:22
Status : Hors ligne

Re: [..] Extraction et tri d'une chaine de caractére

#29

Message par Doccc »

Code : Tout sélectionner

$file = FileOpen("P:\applications\TE.txt", 0)

; Check if file opened for reading OK
If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
EndIf

; Read in lines of text until the EOF is reached
While 1
    $line = FileReadLine($file)
    Global $iPID = Run(@ComSpec & " /c telnet " & $line)
    WinWaitActive("C:\WINDOWS\system32\cmd.exe")
    Send ("root{ENTER}MOTDEPASS{ENTER}halt{ENTER}exit")
    If @error = -1 Then ExitLoop
Wend

FileClose($file)


 
Comme ceci donc mais là, même si il à fait tout les lignes du fichier il continu à ouvrir des fenêtre MSDOS...
Il faut que je mette comme condition, le nombre de ligne total ?!
Doccc
Niveau 2
Niveau 2
Messages : 21
Enregistré le : mar. 02 sept. 2008 16:22
Status : Hors ligne

Re: [..] Extraction et tri d'une chaine de caractére

#30

Message par Doccc »

Code : Tout sélectionner

$file = FileOpen( "P:\applications\TE.txt", 0)

If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
EndIf

$sf=FileGetSize($file)-1
$nl=StringLen(StringAddCR(FileRead($file,$sf)))-$sf+1

While 1
    $line = FileReadLine($file)
    Global $iPID = Run(@ComSpec & " /c telnet " & $line)
    WinWaitActive("C:\WINDOWS\system32\cmd.exe")
    Send ("root{ENTER}mot_de_pass{ENTER}exit")
    If @error = -1 Then ExitLoop
    If $nl = $line Then Exitloop
Wend

FileClose($file)


 
J'ai fait des modif là mais y me prend que les deux premieres ligne du fichier .

Merci
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Extraction et tri d'une chaine de caractére

#31

Message par jbnh »

Code : Tout sélectionner

$file = FileOpen("P:\applications\TE.txt", 0)
$read = FileRead($file)
$line = StringSplit($read, @CR)

For $i = 1 To $line[0]

$var = FileReadLine($file, $i)
Global $iPID = Run(@ComSpec & " /c telnet " & $var)
WinWaitActive("C:\WINDOWS\system32\cmd.exe")
Send ("root{ENTER}MOTDEPASS{ENTER}halt{ENTER}exit")
If @error = -1 Then ExitLoop

Next
Ainsi?
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Doccc
Niveau 2
Niveau 2
Messages : 21
Enregistré le : mar. 02 sept. 2008 16:22
Status : Hors ligne

Re: [..] Extraction et tri d'une chaine de caractére

#32

Message par Doccc »

Sa à l'air, je vais faire des tests, je te tiens au courant ;)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11784
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Extraction et tri d'une chaine de caractére

#33

Message par Tlem »

Doccc a écrit :Comme ceci donc mais là, même si il à fait tout les lignes du fichier il continu à ouvrir des fenêtre MSDOS...
Ceci est normal, car la ligne

Code : Tout sélectionner

If @error = -1 Then ExitLoop
doit se trouver juste après la lecture du fichier et donc juste après ceci :

Code : Tout sélectionner

$line = FileReadLine($file)
sinon la condition de sortie de la boucle ne peut jamais être valide ...
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é".
Doccc
Niveau 2
Niveau 2
Messages : 21
Enregistré le : mar. 02 sept. 2008 16:22
Status : Hors ligne

Re: [..] Extraction et tri d'une chaine de caractére

#34

Message par Doccc »

J'ai toujours le même probléme, il essaie de se connecter qu'au premier ordinateur qu'il y à, a la premiere ligne du fichier :(.
Pour la connexion au telnet, comment on fait pour mettre une pause entre les commande ? Sinon il va trop vite et tape un peu n'importe ou.

Merci d'avance

Edit : Pour la pause, j'utilise la commande Sleep :wink:
Répondre