Telnet expect : commande qui ne s'exécute pas

Résolu
Bonjour,

J'ai un petit soucis avec Telnet (que je découvre juste!).
Je voudrais lancer une commande sur un pc sous windows (ici asus02) depuis un pc sous linux.

mon script de lancement :
#!/usr/bin/expect
spawn telnet asus02 
expect "login:"
send "Log\r"
expect "password:"
send "mdp\r"
expect ">"
send "echo je vais rentrer dans le bat\r"
expect ">"
send "lancementRhino.bat\r"
expect ">"
send "echo je suis sorti du bat\r"
expect ">"
exit


et dans lancementRhino.bat j'ai :
echo mybat tourne
cd "C:\Mon Chemin"
dir
Rhino4 /runscript="-_exit" rapide.txt
echo mybat fini


Quand je lance Telnet à la main, puis login, puis passwd, puis lancementRhino.bat puis exit je n'ai aucun problème, tout s'exécute comme il faut.
Par contre quand j'utilise mon script de lancement la commande
Rhino4 /runscript="-_exit" rapide.txt
ne passe plus (alors que cd ... et dir sont exécutées comme il faut).

Si quelqu'un a une idée de ce que j'ai fait de travers ça m'aiderait beaucoup!

6 réponses

  1. non, après avoir affiché la réponse à dir il sort complétement de telnet
    1. Contributeur
      essayer en ajoutant interact après send "lancementRhino.bat\r"
      1. Merci beaucoup, ça marche!
        Par contre j'aimerai bien ne pas avoir à intervenir pour qu'il sorte de telnet et poursuive sa route. J'ai fait quelques tentatives mais sans succès...
        Est ce que il y a aussi une solution pour ça?
        1. Après bien des tatonnements
          interact timeout 10 return
          ça va bien.
          Si jamais ça peut servir...

          Et au passage http://www.tcl.tk/man/expect5.31/expect.1.html qui peut etre utile! Mais si on tape "telnet expect" sur Google on a du mal a tomber dessus...
          1. Salut j'aimerais savoir si c'étais possible d'ecrire un script php à partir de ce script (expect) ?