[R] Problème d'écriture dans cmd

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
caropost
Niveau 4
Niveau 4
Messages : 63
Enregistré le : jeu. 19 mars 2015 16:24
Status : Hors ligne

[R] Problème d'écriture dans cmd

#1

Message par caropost »

Bonjour à tous,

Je souhaite automatiser la configuration d'un switch et pour cela j'ai d'abord besoin de me connecter en série avec Putty ou Plink, envoyer quelques commandes, lancer l'invité de commande puis me connecter en FTP depuis un dossier placé sur le pc et transférer des fichier du pc au switch.
Pour cela, je souhaite vérifier ce que me retourne Plink/putty et l'invité de commande afin de ne pas envoyer trop tôt des commandes pour ne pas faire n'importe quoi.
La première partie de mon automatisation fonctionne : je peux me connecter en série via Plink, attendre que le port série renvoie "login" pour envoyer mon login etc. Je suis un peu en aveugle car rien ne s'affiche. Pour savoir où le programme en est, je dois ouvrir le fichier de log mais bon, ça va quand même.
Là où ça se complique c'est lorsque je souhaite faire la même chose mais avec l'invité de commande : je lis bien ce qu'il y a dedans mais impossible d'envoyer la commande souhaitée...

J'utilise des fonctions décrites dans ce lien : http://www.autoitscript.com/forum/topic ... k-wrapper/
Je les ai adapté à mes besoins. J'utilise ces fonctions (en commentaires les lignes qui me servent pour plink) :
► Afficher le texte
Voici comment je l'utilise :
► Afficher le texte
Je reçois bien "Microsoft Windows XP", mes 2 fenêtres "OK" et "OK bis" s'ouvrent bien mais après, je ne lis plus rien... Dans ma fonction _Expect, la fenêtre "Test" s'ouvre vide...

Sauriez-vous m'aider ? Je pense que l'invité de commande n'a pas pris en compte le _SayPlus("dir")...
Modifié en dernier par caropost le ven. 29 mai 2015 10:40, modifié 1 fois.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Problème d'écriture dans cmd

#2

Message par orax »

J'ai fait des tests mais je ne sais pas d'où vient le problème. Il y a quand même le @CR dans la fonction _SayPlus qui me semble bizarre. Je l'ai remplacé par un @CRLF. À ma connaissance le retour à la ligne communément utilisé sous Windows est CR LF.
Les modifications sont commentées de cette manière : ; ### ... Avec ces modifs il n'y aura plus besoin d'ouvrir le fichier de log pour voir ce que plink renvoie.
► Afficher le texte
► Afficher le texte#include <PlinkWrapper_Test_cmd.au3>
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
caropost
Niveau 4
Niveau 4
Messages : 63
Enregistré le : jeu. 19 mars 2015 16:24
Status : Hors ligne

Re: [..] Problème d'écriture dans cmd

#3

Message par caropost »

Je te remercie pour ta réponse :)

Pour la partie sur cmd, je lance le script, je ne vois rien se passer puis je vois qu'il se termine mais je n'ai pas vu où est-ce que je pouvais vérifier ce qu'il s'est passé...
caropost
Niveau 4
Niveau 4
Messages : 63
Enregistré le : jeu. 19 mars 2015 16:24
Status : Hors ligne

Re: [..] Problème d'écriture dans cmd

#4

Message par caropost »

J'ai mis des MsgBox et activé le log donc je vois bien qu'il se passe bien quelque chose, merci :)
N'y aurait-il pas un moyen pour avoir quelque chose de visuel ? Je veux dire voir ce qu'il se passe en temps réel, un peu comme si on écrivait vraiment sur la console...
Parce que là, concrètement, si je n'active pas les log et que je n'ouvre pas ce fichier ou bien que je ne mets pas de MsgBox, je ne vois absolument rien passer...

EDIT : J'ai fais quelques tests, le ping et le dir fonctionnent. J'ai adapté le script pour tester les vrais lignes qui vont être intégrées au script final (la partie où je me connecte en FTP sur le switch) et ça bloque après la rentrée du user...
► Afficher le texte
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Problème d'écriture dans cmd

#5

Message par orax »

caropost a écrit :Pour la partie sur cmd, je lance le script, je ne vois rien se passer puis je vois qu'il se termine mais je n'ai pas vu où est-ce que je pouvais vérifier ce qu'il s'est passé...
C'est affiché dans la console de SciTE. Il faudrait donc lancer le script depuis SciTE (touche F5).
caropost a écrit :_Expect("C:\Documents and Settings\administrator\Desktop\Switch>") === la ligne est lue mais pas reconnue ===
C'est normal, dans _Expect c'est StringRegExp qui est utilisé pour trouver la chaîne. L'antislash \ est un caractère spécial donc il faut le doubler ou utiliser \Q \E pour ne pas interpréter les caractères spéciaux.

Code : Tout sélectionner

_Expect("C:\\Documents and Settings\\administrator\\Desktop\\Switch>")
_Expect("\QC:\Documents and Settings\administrator\Desktop\Switch>\E")
Une alternative est de remplacer tous les StringRegExp par des StringInStr pour faire une recherche de texte simple ; dans ce cas il n'y aura pas besoin de doubler les \.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
caropost
Niveau 4
Niveau 4
Messages : 63
Enregistré le : jeu. 19 mars 2015 16:24
Status : Hors ligne

Re: [..] Problème d'écriture dans cmd

#6

Message par caropost »

Ah merci ! Effectivement, avec \Q et \E ça fonctionne mieux ^^
Et effectivement, il y a bien la console qui apparaît quand je tape F5 :)
Seul point bloquant qui reste : la connexion FTP... J'ai réécrit tout ça un peu au propre histoire d'y voir un peu plus clair et de n'avoir que ce qui est utile pour la partie cmd et j'ai mis ça dans un même "fichier" :
► Afficher le texte
Voici le fichier de log que j'obtiens :
► Afficher le texte
Et ce jusqu'à ce que j'arrête le script ou le timeout...
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Problème d'écriture dans cmd

#7

Message par orax »

Avec les fonctions _FTP_* d'AutoIt ça n'irait pas ? Ça me semblerait plus pratique.
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
caropost
Niveau 4
Niveau 4
Messages : 63
Enregistré le : jeu. 19 mars 2015 16:24
Status : Hors ligne

Re: [..] Problème d'écriture dans cmd

#8

Message par caropost »

J'avais oublié ces fonctions ^^' Et je ne devais pas taper les bons mots clés sur internet parce qu'il ne me proposait pas ces fonctions...

J'ai donc commencé à tester avec ses fonctions et je n'arrive pas à me connecter... Lorsque je suis connecté en série avec PuTTY et que je lance mon script, il m'informe que l'authentification a échouée et que l'utilisateur est anonyme...
► Afficher le texte
Je dois également "activer" le binaire et le hash, je ne sais pas si c'est faisable avec ces fonctions ou si ça le fait "automatiquement"...

EDIT : c'est bon, j'ai réussi à me connecter, le switch devait être un peu capricieux, après un redémarrage il a accepté que je me connecte en FTP via mon script :) Maintenant, je me lance dans la recherche de vérification que je suis bien connectée ou que j'envoie bien mes fichiers et si non afficher un message d'erreur :)
caropost
Niveau 4
Niveau 4
Messages : 63
Enregistré le : jeu. 19 mars 2015 16:24
Status : Hors ligne

Re: [..] Problème d'écriture dans cmd

#9

Message par caropost »

Bonjour,

Je reviens vers vous après un moment sans être venue. J'ai dû faire un autre projet en laissant de côté celui-ci du coup je n'ai pas trop avancé mais j'ai un nouveau problème...

C'est toujours sur le problème de FTP. J'utilise le bout de code suivant :
► Afficher le texte
J'ai un peu modifié le fichier FTPEx.au3 pour que s'il y a un problème, j'ai un message d'erreur qui apparaît :
► Afficher le texte
Le problème c'est qu'il n'arrive pas à passer ma commande "bin"... Pour le reste, pas de soucis mais ça, ça ne fonctionne pas... J'ai pourtant testé pas mal de choses sans succès...
Sauriez-vous m'aider ?
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Problème d'écriture dans cmd

#10

Message par orax »

Il faut éviter de modifier les UDFs dans le dossier d'installation d'AutoIt. En plus, dans le cas présent ce n'était pas nécessaire. Il suffisait de tester @error.
Ce code indiquera plus précisément quelle est l'erreur.
► Afficher le texte
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
caropost
Niveau 4
Niveau 4
Messages : 63
Enregistré le : jeu. 19 mars 2015 16:24
Status : Hors ligne

Re: [..] Problème d'écriture dans cmd

#11

Message par caropost »

Désolée pour le retard, j'étais reparti sur ce sujet avant de me reconcentrer sur le 2ème mais là je repasse sur ce sujet :)

Merci pour l'info, je testerai :)

Je n'ai pas modifié l'UDF en lui-même mais j'ai copié son contenu dans un autre fichier comme ça j'ai les fichiers qui sont venus avec l'installation qui restent "propres" ;)

Je n'ai plus besoin de ce sujet puisque j'utilise les fonction _FTP pour arriver à mes fins :)
caropost
Niveau 4
Niveau 4
Messages : 63
Enregistré le : jeu. 19 mars 2015 16:24
Status : Hors ligne

Re: [..] Problème d'écriture dans cmd

#12

Message par caropost »

orax a écrit :Il faut éviter de modifier les UDFs dans le dossier d'installation d'AutoIt. En plus, dans le cas présent ce n'était pas nécessaire. Il suffisait de tester @error.
Ce code indiquera plus précisément quelle est l'erreur.
► Afficher le texte
J'ai suivi ton conseil (oui, après un certain temps, je l'avoue) et il me met cette erreur :

Code : Tout sélectionner

500 Command not recognized
alors que c'est une commande qui fonctionne très bien en manuel...
Avatar du membre
jbnh
Niveau 11
Niveau 11
Messages : 1932
Enregistré le : ven. 02 mai 2008 14:54
Localisation : Bruxelles
Status : Hors ligne

Re: [R] Problème d'écriture dans cmd

#13

Message par jbnh »

A mon avis tu fais une mauvaise utilisation de l'UDF.

FTPCommand c'est pour envoyer des commandes FTP
cfr https://fr.wikipedia.org/wiki/Liste_des_commandes_ftp

Aussi
Je n'ai plus besoin de ce sujet puisque j'utilise les fonction _FTP pour arriver à mes fins :)
Donc merci de ne plus répondre à ce sujet qui est en Résolu depuis un bout de temps
Balise [..] devant votre requête en cours, [R] quand résolu | Pas de message concernant les bots !

Merci
Répondre