[R] Récupérer tous fichiers .ini stockés sur serveur FTP

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
ELGAMALI
Niveau 5
Niveau 5
Messages : 184
Enregistré le : mar. 13 sept. 2011 00:06
Status : Hors ligne

[R] Récupérer tous fichiers .ini stockés sur serveur FTP

#1

Message par ELGAMALI »

Bonjour;

Je cherche à créer un programme chat qui me permettrait de traiter des fichiers .ini
Je m'explique :
Première opération :
1- Récupérer tous les fichiers(* .in) stockées dans dossier se trouvant dans mon serveur FTP et les copier dans un dossie que je nomme : Import vers mon PC local.
2- Lire/récupérer quelques informations (la line 9 et 10) se trouvant dans les fichiers du dossier Import (24.000 fichiers par jours soit 10.000 fichiers par heure à traiter). Puis copier ces lignes 9 et 10 (informations) dans un fichier : Import1.ini
Premier blocage voir code:

Code : Tout sélectionner

#NoTrayIcon
#include <GUIConstantsEx.au3>
#Include <Inet.au3>
DirCreate(@TempDir&"\Import")
Local $sSource, $file,$fichier

;$search  = InputBox("TEST: Security Check", "Enter the E-Mail address to send message to", "", "*", -1)

  $search  = "URL/DOSSIER/*.INI" ;dans ces conditions (*.ini) ne marche pas ????
 $file = _INetGetSource($search)
MsgBox(0, "Fichier:", $file)
InetGet($search, @TempDir& "\Import\*.ini");@ScriptDir
$fichier=@TempDir&   "\Import\*.ini"
 
Merci de votre aide !
Modifié en dernier par ELGAMALI le sam. 06 oct. 2012 15:01, modifié 2 fois.
Avatar du membre
parazitenew
Niveau 7
Niveau 7
Messages : 310
Enregistré le : sam. 10 déc. 2011 15:08
Localisation : Algerie
Status : Hors ligne

Re: [..]Récupérer tous les fichiers.in stockées sur serveur

#2

Message par parazitenew »

"*.ini" ne marche pas à ma connaissance. Sauf sur l'invite de commande windows :D

Il est préférable de copier le dossier contenant les fichiers ".ini" que d'éssayer de les copier un à un.
Pour ce qui est de la lécture des lignes 9 et 10, saches que ça ne fonctionne pas comme ç pour les ".ini",
Un fichier ini est structuré de cette façon:
► Afficher le texte
Il faut spécifier la valeur que tu veux lire, en préciseant le nom de la clé et de la section.

Code : Tout sélectionner

IniRead(@TempDir & "\dossier\exemple.ini","section","clé","")
Ton code ressemblerai plus à ça:
► Afficher le texte
Je t'ai rajouté FileWrilte pour .txt, parceque je ne vois pas l'utilité d'un .ini. Comme ça tu pourra faire la comparaison.
Les 2 fichiers seront enregistrés sur le même dossier que ton script.

Edit: à ma connaissance tu ne peux pas lire tout les fichiers ini se trouvant dans le dossier import si tu ne connais pas leurs noms.
ELGAMALI
Niveau 5
Niveau 5
Messages : 184
Enregistré le : mar. 13 sept. 2011 00:06
Status : Hors ligne

Re: [R]Récupérer tous les fichiers.ini stockées sur serveur

#3

Message par ELGAMALI »

Merci pour tes information, effectivement, de cette façon ton script et le mien fonctionnent bien, mais j’ai déjà vu quelque part sur ce site que c’est possible d’importer tous les fichiers.ini en masse et en même temps.
Les fichiers.ini sont structurés de cette façon:
[paramètres]
E-mail=info@smedia.com
IDENTIFIANT= xxxx
RéfProd=TVA MARS 2012
Avatar du membre
parazitenew
Niveau 7
Niveau 7
Messages : 310
Enregistré le : sam. 10 déc. 2011 15:08
Localisation : Algerie
Status : Hors ligne

Re: [..]Récupérer tous les fichiers.ini stockées sur serveur

#4

Message par parazitenew »

je n'ai pas d'idée sur àa désolé :?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..]Récupérer tous les fichiers.ini stockées sur serveur

#5

Message par Tlem »

Donc finalement, c'est certaines informations de le section [Paramètres] que vous devez récupérer et non les infos de la ligne 9 et 10 ... ^^

De plus, je dois vous mettre en garde sur la limitation de la taille d'un fichier .ini.
Cherchez sur le forum et vous trouverez quelques messages traitant du problème. Car si je me réfère aux éléments que vous avez donné, nous aurons 10000 fichiers à traiter. De ces fichiers, on doit extraire une certaine quantité de donnée. Vraisemblablement 20 à 50 caractères + une vingtaines de caractères pour les clés. Ce qui nous fait un fichier ini final de 40000 à 70000 caractères soit 40 Ko à 70 Ko.
Selon la taille finale et le traitement à effectuer, vous risquez fort d'avoir quelques petits problèmes. :mrgreen:

http://www.google.fr/search?q=limitatio ... TF-8&hl=fr
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é".
ELGAMALI
Niveau 5
Niveau 5
Messages : 184
Enregistré le : mar. 13 sept. 2011 00:06
Status : Hors ligne

Re: [R]Récupérer tous les fichiers.ini stockées sur serveur

#6

Message par ELGAMALI »

Bonsoir
Merci pour les informations, je vais essayer d’éviter se problème épineux.
Je voudrais savoir si c'est possible avec autoit? D’importer tous les fichiers.ini qui se trouvent dans un dossier en masse et en même temps ?
a+
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..]Récupérer tous les fichiers.ini stockées sur serveur

#7

Message par Tlem »

En même temps non (voir ci-dessous vers la fin) ! Mais un par un oui, avec les aléas de la lenteur de la connexion utilisée.

Tout dépend de l'endroit ou ce trouve les fichiers et de leur taille d'origine.
Si ils se trouvent éparpillés dans des dossiers différents, j'ai bien peur que votre projet ne puisse aboutir, car le téléchargement d'un des fichiers puis le changement de dossier (FTP) en boucle sur 10000 fichiers risque fort de prendre beaucoup plus de temps que vous n'en avez avant la requête suivante.

Si tel était le cas, c'est plutôt coté serveur que vous devez intervenir pour que celui-ci vous transmette directement les informations, voir les 10000 fichiers compressés dans un fichier zip pour traitement local.
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é".
ELGAMALI
Niveau 5
Niveau 5
Messages : 184
Enregistré le : mar. 13 sept. 2011 00:06
Status : Hors ligne

Re: [R]Récupérer tous les fichiers.ini stockées sur serveur

#8

Message par ELGAMALI »

Bonjour
Tous les fichiers (* .in) sont stockées dans un dossier se trouvant dans notre serveur dédié.
La taille d’origine des fichiers est de : 4,00 Ko à 7,00 Ko max.
Le nombre des fichiers est de 1.000 par heure.
Mais le traitement demandé doit être fait localement.
A+
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11830
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Récupérer tous fichiers .ini stockés sur serveur FT

#9

Message par Tlem »

Les commandes _Ftp_xxxx sont vos amies. Regardez les exemples fournit pour une connexion sur FTP, puis pour lister les fichiers d'un dossier.
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é".
ELGAMALI
Niveau 5
Niveau 5
Messages : 184
Enregistré le : mar. 13 sept. 2011 00:06
Status : Hors ligne

Re: [R] Récupérer tous fichiers .ini stockés sur serveur FTP

#10

Message par ELGAMALI »

Bonjour
Je vous remercie, vous m'avez apporté un complément d'informations non-négligeables, je vous salut cher Tlem.
a+
ELGAMALI
Niveau 5
Niveau 5
Messages : 184
Enregistré le : mar. 13 sept. 2011 00:06
Status : Hors ligne

Re: [R] Récupérer tous fichiers .ini stockés sur serveur FTP

#11

Message par ELGAMALI »

salut tout le monde
j'avais cru pouvoir créer un script avec les commandes autoit dans le but de télécharger tout un dossier avec son contenu se trouvant sur mon serveur ftp mais je n'ai pas pu si quelqu'un a une idée de comment le faire j'en serai reconnaissant
merci
ELGAMALI
Niveau 5
Niveau 5
Messages : 184
Enregistré le : mar. 13 sept. 2011 00:06
Status : Hors ligne

Re: [R Récupérer tous fichiers .ini stockés sur serveur FTP

#12

Message par ELGAMALI »

Bonjour PandiPanda
j'ai parcourut le forum et j'ai constaté que vous êtes parmi les connaisseurs concernant les la création de script FTP et parmi les actifs. de ce fait je fais appel à vous pour lire et analyser mon problème et y émettre un point de vue.
coridalement
Avatar du membre
PandiPanda
Membre émérite
Membre émérite
Messages : 656
Enregistré le : mar. 19 juil. 2011 14:03
Localisation : Bruxelles
Status : Hors ligne

Re: [..] Récupérer tous fichiers .ini stockés sur serveur FT

#13

Message par PandiPanda »

Je n'ai actuellement malheureusement pas le temps de me consacré a votre problème, je peux cependant vous donné une piste ...

Si vous voulez récupérer tout les fichiers "*.ini" d'un serveur ftp, de manière récursive sans doute ?
la difficulté serai de connaitre le chemin de "chaque" fichier ...

l'une des manière serai:

1) de chercher dans le dossier de départ les fichiers & les autres dossier qui s'y trouve.
2) stocker dans une variable les fichiers recherché, et stocker dans une autre les dossier.
3) revenir à l'etape 1) en modifiant le "dossier de départ" par un des "dossier trouvé" jusqu'a ce que tout les dossier soit parcouru.

c'est un algorithme récursif. Voici un exemple vite fait d'un algorithme récursif basique ...
► Afficher le texte
voici différent UDF qui traite de comment rechercher de manière récursive des fichier/dossiers, ceci pourrai vous aidez grandement à la réalisation de votre projet !

Il faut savoir que :
- _Ftp_ListToArray() : permet de renvoyé des dossiers et/ou fichiers
- _Ftp_ListToArray() : utilise le répertoire "courant", il faut donc le modifié via un _FTP_DirSetCurrent()
La seule moralité qui tienne dans un monde cruel est la chance. Impartiale. Équitable. Vraie
ELGAMALI
Niveau 5
Niveau 5
Messages : 184
Enregistré le : mar. 13 sept. 2011 00:06
Status : Hors ligne

Re: [R] Récupérer tous fichiers .ini stockés sur serveur FTP

#14

Message par ELGAMALI »

Bonjour merci pour votre réponse
mais je ne vois pas comment m'en servir.
ELGAMALI
Niveau 5
Niveau 5
Messages : 184
Enregistré le : mar. 13 sept. 2011 00:06
Status : Hors ligne

Re: [..] Récupérer tous fichiers .ini stockés sur serveur FT

#15

Message par ELGAMALI »

J'ai trouvé la solution à ma question: Avec la collaboration de Benyahia Achraf
Ingénieur d’état en Télécommunication et Réseaux.

Le projet consiste à:

Opération 1/1 : Récupérer tous les fichiers (* .in) en masse stockées dans dossier se trouvant dans mon serveur FTP et les copier dans un dossier que je nomme : Import vers mon PC local. Cette opération se déclanche chaque 10 minutes est elle doit récupérer uniquement les nouveaux fichiers non traiter auparavant.

Opération 1/2 : Lire/récupérer quelques informations se trouvant dans les fichiers du dossier Import (Opération 1/1) soit (24.000 fichiers par jours soit 10.000 fichiers par heure à traiter). Puis copier ces informations dans un fichier : Import-1.ini. Cette opération se déclanche instantanément avec.

Deuxième opération : idem que la première opération
Opération 2/1 : Cette fois lire/récupérer/copier (Effectuer des requêtes sur des bases de données du site) quelques informations stockées dans la base de donnée de notre site (contenant dans le fichier d’identification de nos clients : Adresse email plus référence produit acheté, n° de commande et n° mot de passe client ), et les copier dans un fichier : Import-2.ini.

Opération 3/1 : Comparer les informations récupérées dans le fichier : Import-1.ini et le fichier : Import-2.ini. Si ces informations coïncident entre elles, c’est à dire que l’adresse email et le référence du produit ainsi que le mot de passe sont les mêmes, dans ce cas supprimer les information non valide du fichier Import2.ini, puis il faut stocké uniquement les informations valides (coïncident entre elles) dans un fichier que je nomme Export .ini.

Opération 4/1 : Envoyer émail de confirmation à chaque nouveau client venant s’ajouter sur le fichier Export .ini.

Opération 5/1 : Générer un exécutable qui va écrire sur le registre Windows du client la clef de l’AutoPlay, cette clef doit être Protégée physiquement.

Opération 5/2 : Envoyer un émail comportant URL de téléchargement de l’exécutable (Opération 5/1) spécifique (appartenant) à chaque client.

Il faut jamais dire non, c'est impossible avec AutoIt. Là vous avez tort: AutoIt est imbattable il faut le manier avec allégresse et du bon cens.
EL GAMALI Abdennasser
Répondre