Bonjour,
J'ai un petit programme qui :
- va chercher sur internet un fichier de données contenues dans un zip
- extrait ce zip dans un répertoire temporaire
- va ensuite chercher dans le répertoire un fichier qui a toujours le même nom ("valeurs_mensuelles.csv")
- récupère dans ledit fichier les valeurs qui font bien
Jusqu'à présent ça fonctionnait plutot pas mal.
Or il se trouve que récemment le fournisseur du fichier (l'INSEE pour ne pas les nommer) a décidé de changer la structure du zip fourni.
Avant, le zip contenait directement le fichier recherché parmi d'autres fichiers de définition
Aujourd'hui, comme on peut voir sur 'limage avant/après ci-dessous, le zip contient un second répertoire, lequel contient les fichiers (pourquoi faire simple...)
J'ai donc tenté d'utiliser successivement FindAllDirectories (sans succès) avant de me rabattre sur FindAllFiles, mais je dois mal m'y prendre car je n'ai JAMAIS réussi à avoir le nom de ce *%$*^ de sous-répertoire.
Ma syntaxe est celle-ci (findAllFiles) :
Et quand je cherche à connaitre subdir.strings[0], la réponse est systématiquement du type "\temp\refindex\valeurs_mensuelles.csv" à la place "\temp\refindex\NOM_DU_SOUSREPERTOIRE\valeurs_mensuelles.csv"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 subdir:=TstringList.create; subdir := FindAllFiles('\temp\'+refindex,'valeurs_mensuelles.csv',true);
Si quelqu'un avait une piste je suis preneur !
Merci beaucoup
D!
PS : sous windows, et je ne cherche pas la portabilité pour l'instant
EDIT : mon but est donc de trouver où se cache le fichier qui m'intéresse dans l'arborescence du zip décompressé. Le seule chose qui soit figée étant son nom, le nombre de sous-répertoires imbriqués entre la racine et celui-ci étant visiblement sujet à évolution...
EDIT 2 : résolu, le problème était du type PEBKAC... En passant tout en chemin absolu plutôt qu'en relatif, ça marche. Si un modo veut supprimer le topic !
Partager