-
Problème Batch IP
Bonjour à tous et à toutes,
Je viens de débuter l'écriture d'un script .bat, donc il peu y avoir des questions bêtes. Le but du projet d'automatiser le traitement de données contenus à distance.
Ces données sont dans des fichiers .txt, et j'aimerai pouvoir automatiser toute la chaine de traitement, avec comme seuls paramètres utilisateur l'ip et l'identification.
Mais je me heurte à certains problèmes.
*** Le premier (et il me semble insolvable) se ramène à une connexion en telnet automatique. On peut se connecter via une commande de ftp avec un script comportant les informations de login/pw, mais je n'ai pas trouvé la solution pour le telnet.
*** Le second est que je ne comprend pas pourquoi, lorsque je me connecte donc automatiquement en ftp, et que je tente, dans la suite la procédure, de récupérer un fichier txt, le get log.txt ne marche pas. J'arrive à me connecter, aller dans le bon répertoire, mais impossible de faire un get (ni un mget, ni un ls,etc...). En fait, le serveur coupe la connexion suite à ça. En le faisant "manuellement", aucun soucis, tout fonctionne correctement. Je ne comprends pas.
Illustration:
ftp> ls
---> PORT 0,0,0,0,199,206
Connexion fermée par l'hôte distant.
*** Mes fichiers sont sous la forme:
AAAA = BBBBB
Je crois que awk permet de découper une de ces parties. Comment faire pour isoler les BBBB et les écrire ensuite dans un autre fichier texte?
*** Enfin, est il possible de faire un batch qui permettrai de mis en pause et relancer via une combinaison de touche du clavier?
Merci pour vos réponses.
flatron
-
"est il possible de faire un batch qui permettrai de mis en pause et relancer via une combinaison de touche du clavier?"
oui, en pilotant un VBS utilisant la fonction senkey.
"Je crois que awk permet de découper une de ces parties. Comment faire pour isoler les BBBB et les écrire ensuite dans un autre fichier texte?"
Tout dépends. Si le caractère de délimitation est un simple caractère, le parser intégré for suffit. Sinon, la syntaxe de awk est quelque chose comme
Code:
echo "a,b,c" | awk -f "," "{print $1$3}"
ou $x est le numéro du champs trouvé. Ce code devrait afficher ac.
-
Salut john,
Merci de ta réponse.
Pour info, le probleme numero 2 du ftp est résolu.
Vraisemblablement, le probleme numero devrait pouvoir etre contourner, donc je verrai plus tard si senkey ou pas.
Concernant le pass, mon probleme est que mon fichier texte est de la forme
__AAAAA___=___BBBBB
___CCC__=__154
_____DDD___=____254
etc....
J'aimerai pouvoir extraire de ce fichier tout ce qui se trouve apres les "=", les caracteres de saparations sont des espaces simples (ici materialisé avec des _). Etant donné que les lignes sont differentes à certains moments, ne devrais je pas preciser le numero de la ligne en parametre?
Ou bien, comment definir pour chaque ligne un certain nombre de caracteres à effacer ? (car la valeur interessante se situe en fin de ligne).
Merci en tout cas.
flatron1
-
Pour supprimer tous les occurences xxx d'une variable :
set alpha=%alpha:xxx=%
Supprimer les espaces, utilise le = comme séparateur et ça devrait rouler.