Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Tue 09 August 2022 12:20

LABASTIE Marie-Amélie
Juste Inscrit !
Date d'inscription: 14 Mar 2019
Messages: 3

Powershell et FME

Bonjour,

Je poste car je ne trouve pas de solution. Je vous explique, j'ai réalisé un code PowerShell me permettant de ne garder que les fichiers .dae ajoutés il y a moins d'un jour et d'afficher leur nom dans la console. Ensuite, j'y ai ajouté du code permettant d'ouvrir directement le script FME concerné qui par la suite traitera la donnée ajoutée récemment. MAIS j'aimerai ajouter directement dans le code : le fichier d'entrée (qui est un json), le nouveau fichier à traiter (les .dae trouvés) et le fichier de sortie (une base de données). J'ai possiblement trouvé comment le faire en batch mais pas en PowerShell (voir dernière ligne de code), d'autant plus que je ne sais pas comment accéder via du code aux paramètres présents dans le script FME (pour remplir les readers et writer)

Je vous remercie pour votre lecture !

Code:

$toFolder = "D:Donnees_FMEOutput_BDPreProdSGP_PProdSGP_PProd.sde"
$dossier_masque = "D:Donnees_FMESources*.dae"
$jour = 1
 
$current_date = Get-Date
$nouvelleDonnee = Get-ChildItem -Path $dossier_masque -Recurse | Where-Object {$_.CreationTime.AddDays($jour) -ge $current_date} | Select-Object -ExpandProperty FullName
Write-Host Voici les nouvelles donnees à integrer : $nouvelleDonnee
#test pour voir si c'est le bon fichier
#Copy-Item $nouvelleDonnee -Destination "C:UsersAdministratorDesktoptest_batch"
#ouverture du workbench FME
$fmeExe = "C:Program FilesFMEfmeworkbench.exe"
$cheminScript = "D:Donnees_FMETraitementsProcessFMEdae2sde_preprod_final.fmw"
start-process -FilePath $fmeExe -ArgumentList $cheminScript 
#-SourceDataset_TEXTLINE "D:Donnees_FMESources***.json" -SourceDataset_COLLADA $nouvelleDonnee -destSDE $toFolder

Hors ligne

 

#2 Wed 10 August 2022 13:28

Hydrolithe
Participant assidu
Lieu: Lyon
Date d'inscription: 21 Apr 2010
Messages: 222

Re: Powershell et FME

Bonjour,

Le plus simple pour accéder à certains paramètres du script FME en ligne de commande est de les paramétrer en paramètres publiés ce qui permet de les passer dans la ligne de commande qui lance le script :

Code:

fme <workspacename>.fmw --<myparametername> <parametervalue>

Code:

fme project1.fmw --SourceDataset_IGDS_1 myfile.dgn

Aide: https://community.safe.com/s/article/ba … r-batch-fi


On peut ainsi paramétrer un paramètre publié pour le reader et un pour le writer en fonction des besoins.

Pierre

Hors ligne

 

Pied de page des forums

Powered by FluxBB