Batching a partir da linha de comando ou um arquivo de batch

 

 

O FME pode rodar a partir de uma linha de comando do Windows: Abra uma janela de Prompt de Comando e digite FME para ver uma lista completa de opções.

O comando FME <workspacename>.fmw irá rodar um workspace específico. Ainda, se workspaces do FME podem ser chamados a partir de uma linha de comando, uma série de workspaces (ou o mesmo workspace com diferentes conjuntos de dados) podem ser chamados a partir de um arquivo batch do DOS (.bat).


 

 Como inserir uma fonte de entrada e saída de dados em um processo em batch?

Se você está processando um workspace FME (.fmw) não é necessário definir a fonte de entrada e saída de dados na sua linha de comando – estes itens já foram definidos no seu workspace (.fmw).

Contudo, caso você queira e para workspaces que nao tenham as fonts de entrada e saída não estejam definidas, você pode carregá-las através de Macros no FME. Um Macro é um tipo de variável. Para fontes de dados que você precisa definir as Macros SourceDataset e DestinationDataset.

Quando você tem múltiplas fontes de dados é necessário definir SourceDataset_<formatname>_1 onde <formatname> é o nome abreviado do formato da fonte de dados, por exemplo IGDS.

Você pode definir valores para MACROS rodando um workspace do FME a partir de uma linha de comando do tipo:

fme <workspacename>.fmw --<mymacroname> <macrovalue>

Por exemplo, para definir o valor "myfile.dgn" para a MACRO "SourceDataset_IGDS_1" no workspace chamado project1 temos a seguinte linha de comando:

fme project1.fmw --SourceDataset_IGDS_1 myfile.dgn

 

Como posso informar múltiplas fontes de dados de entrada e saída para o processo em batch?


Através de um arquivo .bat com variáveis do DOS. Por exemplo:

 Para %%f em (*.dgn) faça:
 "c:\program files\fme\fme.exe" C:\FMEInput\dgn2dxf.fme --SourceDataset "%%f" --DestDataset "%%~nf.dxf"

 

Minha linha de comando não funciona. Ela é muito longa e eu acho que o Sistema Operacional não gosta disto! Existe algo que possamos fazer com longas linhas de comando?

Sim. Os parâmetros da linha de comando podem ser armazenados em um arquivo e lidos pelo FME utilizando a seguinte sintaxe:

fme PARAMETER_FILE <parameterFile>