Page 2 sur 2
Re: [..] Extraction et tri d'une chaine de caractére
Posté : jeu. 04 sept. 2008 16:17
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.
Re: [..] Extraction et tri d'une chaine de caractére
Posté : ven. 05 sept. 2008 09:18
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")
Re: [..] Extraction et tri d'une chaine de caractére
Posté : lun. 08 sept. 2008 10:03
par Doccc
Un petit up, je m'en sort pas avec mon tableau

Re: [..] Extraction et tri d'une chaine de caractére
Posté : lun. 08 sept. 2008 11:17
par Tlem
Une variable vide se déclare comme ceci :
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 !!!
Re: [..] Extraction et tri d'une chaine de caractére
Posté : mer. 10 sept. 2008 08:48
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

Re: [..] Extraction et tri d'une chaine de caractére
Posté : mer. 10 sept. 2008 10:28
par Tlem
Dans ce cas, décomposez la chaîne send, et faites des petites pause entre l'envois des commandes.
Re: [..] Extraction et tri d'une chaine de caractére
Posté : mer. 10 sept. 2008 13:23
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
Re: [..] Extraction et tri d'une chaine de caractére
Posté : mer. 10 sept. 2008 21:38
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.
Re: [..] Extraction et tri d'une chaine de caractére
Posté : jeu. 11 sept. 2008 08:43
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 ?!
Re: [..] Extraction et tri d'une chaine de caractére
Posté : jeu. 11 sept. 2008 16:37
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
Re: [..] Extraction et tri d'une chaine de caractére
Posté : jeu. 11 sept. 2008 16:49
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?
Re: [..] Extraction et tri d'une chaine de caractére
Posté : ven. 12 sept. 2008 08:49
par Doccc
Sa à l'air, je vais faire des tests, je te tiens au courant

Re: [..] Extraction et tri d'une chaine de caractére
Posté : ven. 12 sept. 2008 20:02
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
doit se trouver juste après la lecture du fichier et donc juste après ceci :
sinon la condition de sortie de la boucle ne peut jamais être valide ...
Re: [..] Extraction et tri d'une chaine de caractére
Posté : mar. 16 sept. 2008 08:55
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
