Annonce
Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.
Vous allez recevoir un message pour effectuer ce changement de mot de passe.
Merci de bien respecter les règles préconisées.
#1 Tue 30 June 2009 10:48
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
FME2009 : comment déplacer un fichier source
Aloha
Comment déplacer un fichier source après traitement ?
D'avance, merci,
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#2 Tue 30 June 2009 11:12
- pyjoubert
- Participant assidu
- Lieu: Lyon
- Date d'inscription: 21 Mar 2006
- Messages: 330
Re: FME2009 : comment déplacer un fichier source
Comme cela à froid, j'essayerais d'utiliser un script TCL associé au script de fermeture dans les paramètres avancés de ton projet
Hors ligne
#3 Tue 30 June 2009 13:51
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: FME2009 : comment déplacer un fichier source
J'ai mis un script en TCL Shutdown
Code:
proc runExport {} { set dir2data ["$::FME_MacroValues( SourceDataset_ACAD)"] foreach f [glob -dir $dir2data {*.dxf,*.dwg} ] { \ set base [split {FME_GetAttribute fme_dataset}] set chemin_emprise "" append chemin_emprise [lindex base 0] append chemin_emprise "\\" append chemin_emprise [lindex base 1] append chemin_emprise "\\" append chemin_emprise [lindex base 2] append chemin_emprise "\\" append chemin_emprise [lindex base 3] append chemin_emprise "\\" append chemin_emprise [lindex base 4] append chemin_emprise "\\transformes\\" append chemin_emprise [FME_GetAttribute fme_basename] append chemin_emprise "\\emprise_prestataire\\" file copy f $chemin_emprise } } runExport
mais j'obtiens çà comme erreur :
FME_END_TCL failure: can't read "::FME_MacroValues( SourceDataset_ACAD)": no such element in array
Program Terminating
Une idée ?
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne
#4 Wed 01 July 2009 09:06
Re: FME2009 : comment déplacer un fichier source
Dans une fonction les variables sont locales, or FME_MacroValues est définie globalement.
Essayez de sortir le code de la fonction.
Hors ligne
#5 Wed 01 July 2009 10:17
- Pierre
- DesCartesPourUnMondeMeilleur
- Date d'inscription: 22 Sep 2005
- Messages: 1643
Re: FME2009 : comment déplacer un fichier source
Donc faire un appel de la variable du type runExport "$::FME_MacroValues( SourceDataset_ACAD)" ?
Code:
proc runExport {dir2data} { #set dir2data [$::FME_MacroValues(SourceDataset_ACAD)] foreach f [glob -dir $dir2data {*.dxf} ] { \ set base [split {FME_GetAttribute fme_dataset}] set chemin_emprise "" append chemin_emprise [lindex base 0] append chemin_emprise "\\" append chemin_emprise [lindex base 1] append chemin_emprise "\\" append chemin_emprise [lindex base 2] append chemin_emprise "\\" append chemin_emprise [lindex base 3] append chemin_emprise "\\" append chemin_emprise [lindex base 4] append chemin_emprise "\\transformes\\" append chemin_emprise [FME_GetAttribute fme_basename] append chemin_emprise "\\emprise_prestataire\\" file copy f $chemin_emprise }} runExport $::FME_MacroValues($SourceDataset_ACAD)
Me renvoie
2009-07-01 10:13:31| 2.6| 0.1|ERROR |TCLCaller_2: @TCL -- failed to evaluate expression `Arbo' -- invalid command name "E:\FME\fichiers données\traitement_auto\transfo_lever_geometre\fichier_source\**\*.dxf"
Héhé ça avance :
voici le code presque parfait :
Code:
proc runExport {} { set dir2data "E:\\FME\\fichiers_donnees\\traitement_auto\\transfo_lever_geometre\\fichier_source\\" foreach d [glob -dir $dir2data -type d * ] { \ FME_LogMessage fme_inform $d set base [split $d {\\}] set chemin_emprise "" append chemin_emprise [lindex base 0] append chemin_emprise "\\" append chemin_emprise [lindex base 1] append chemin_emprise "\\" append chemin_emprise [lindex base 2] append chemin_emprise "\\" append chemin_emprise [lindex base 3] append chemin_emprise "\\" append chemin_emprise [lindex base 4] append chemin_emprise "\\transformes\\" foreach f [glob -nocomplain -dir $d *] { FME_LogMessage fme_inform $f set ch chemin_emprise set file [split $f {\.}] append ch [lindex file 0] append ch "\\emprise_prestataire\\" file copy f $ch } }\ } runExport
Mais j'ai l'erreur :
2009-07-01 13:59:02| 30.9| 0.0|INFORM|Translation was SUCCESSFUL with 26 warning(s) (4223 feature(s)/28115 coordinate(s) output)
2009-07-01 13:59:02| 30.9| 0.0|INFORM|FME Session Duration: 36.9 seconds. (CPU: 25.7s user, 4.0s system)
2009-07-01 13:59:02| 30.9| 0.0|INFORM|END - ProcessID: 1132, peak process memory usage: 115796 kB, current process memory usage: 86060 kB.
E:\FME\fichiers_donnees\traitement_auto\transfo_lever_geometre\fichier_source\B.P.D. G.E
E:\FME\fichiers_donnees\traitement_auto\transfo_lever_geometre\fichier_source\B.P.D. G.E/20081114_Curie_de_Gaulle_Sorbon_St_Brice_Courcelles_gdu.dxf
FME_END_TCL failure: error copying "f": no such file or directory
Program Terminating
Translation FAILED.
Quelqu'un a une idée
Dernière modification par Pierre (Wed 01 July 2009 14:03)
art X I. Déclaration des Droits de l’Homme et du Citoyen 1789
La libre communication des pensées et des opinions est un des droits les plus précieux de l’Homme : tout Citoyen peut donc parler, écrire, imprimer librement, sauf à répondre de l’abus de cette liberté, dans les cas déterminés par la Loi.
Hors ligne