Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bonjour,
Je cherche m'affranchir de l’utilisation de chemin absolue
Quand je déplace le répertoire ou contient l'application (par exemple, vers un répertoire utilisateur ou un autre disque dur), le programme ne trouver plus les fichiers liés ni exécuter le script.
FOR Each Directory IN DirList('..\PROJET1\Sources\20*') // Pour chaque dossier commençant par 20...ON va effectuer la boucle
Let folder='$(Directory)\*';
FOR Each Directory IN DirList('$(folder)')
Let folder2='$(Directory)\*';
FOR Each File IN FileList('$(folder2)')
LET AnneeTravail = Left(Right('$(folder)',8),4);
LET MoisTravail = Right(Left('$(folder)',57),2);
Ainsi sur cette base j'utilise des fonctions RIGHT() et LELFT() pour récupérer la donnée que je souhaite.
Exemple :
LEFT(Mid('$(folder2)',INDEX('$(folder2)', '2')+7),INDEX(Mid('$(folder2)',INDEX('$(folder2)', '2')+7),'\')-1) as Ville
Il y aura un moyen de résoudre mon problème?
Merci d'avance
Bonjour,
Pourrais-tu communiquer sur la hierarchie des repertoires car je ne sais pas trop comment tu recuperes le nom d'une ville.
P.S : tu n'utilises pas des chemins absolus mais relatifs (../)
Oui vous avez raison chemin relatif, en fait je veux juste récupérer le nom de la ville de façon dynamique.
En fait j'ai l’architecture suivante : sur le bureau
Projet PSR -> PSR -> Sources->
201402(Ou il ya les villes)
201403 etc...
Marseille(ou il ya mes fichiers a traiter)
Paris
j'ai changé mon code :
FOR Each Directory in DirList('..\PSR\Sources\20*') // Pour chaque dossier commençant par 20...on va effectuer la boucle
LET AnneeMoisTravail = Right('$(Directory)',6);
LET AnneeTravail = Left('$(AnneeMoisTravail)',4);
LET MoisTravail = Right('$(AnneeMoisTravail)',2);
LET v_chemin = Right('$(Directory)',15);
LET folder='$(Directory)\*';
FOR Each Directory in DirList('$(folder)')
Let folder2='$(Directory)\*';
FOR Each File in FileList('$(folder2)')
j'ai mis une variable "v_chemin" qui contient "\Sources\201402(AnnéeMois)"
je voulais déterminer la position de ma chaine de caractère contenu dans "v_chemin" depuis
le C:\Users\NomUsers\Desktop\Projet PSR\PSR
puis prendre tous ce qu'il vient après, ainsi prendre mon nom de ville qui est compris entre les deux '\'
Exemple :
C:\Users\NomUsers\Desktop\Projet PSR\PSR\Sources\201402\Marseille\
Avant j'avais ça :
left(Mid('$(folder2)',index('$(folder2)', '2')+7),index(Mid('$(folder2)',index('$(folder2)', '2')+7),'\')-1) as Ville
Ainsi dans ma fonction MID() je lui dis de commencera partir du chiffre 2 mais si un jour j'ai chiffre 2 avant mon AnnéeMois ça ne marchera plus
Je ne sais pas si j'arrive a me faire comprendre?
Merci encoe de votre aide
Bonjour,
Cette expression est beaucoup plus simple:
PurgeChar(Mid($(folder2), Index($(folder2), '\', -2)), '\') as Ville
Cordialement