#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: 385
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
}
}
runExportmais 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
}
}\
}
runExportMais 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


