FME e linhas de comando
|
O exemplo no final desta página (CompleteBatchExample.zip) transforma um diretorio de arquivos .dwg para arquivos GML.Uma validação é rodada inicialmente, e então os arquivos que passaram na validação são convertidos em GML.Qualquer arquivo que falhar na validação ou na transformação (isto também será tratado com o crashing do fme.exe) são colocados em um diretório FAILED.Todos os outros arquivos serão colocados em um diretório COMPLETED.Um arquivo de log em separado para cada transformação será colocado no diretório LOGS.Um arquivo de relatório também será gerado dando os resultados (o que passou e o que falhou) de cada transação, e indicando a razão para uma transação que falhou.Se a transformação falha, o arquivo de relatório é enviado por email ao usuário.O arquivo moveFilesBack.bat coloca os arquivos .dwg de volta ao diretório SOURCE, desta forma a transformação pode ser testada novamente.Os seguintes comandos, caracteres e variáveis foram utilizados neste exemplo: |
Comandos DOS úteis
|
DIR – Lista os arquivos contidos em um diretório. DIR/B pode ser utilizado para criar uma lista dos arquivos. FIND – usado para buscar frases específicas em um arquivo de log. FOR – usado para rodar uma transação utilizando arquivos múltiplos. Cada arquivo realiza sua própria transformação. IF – realiza um processamento condicional em programas de batch. ECHO – usado para enviar textos para a tela ou para um arquivo. ECHO te dá uma linha em branco. MOVE – move arquivos de um diretório para outro. MD – usado para criar diretórios. O FME algumas vezes roda com problemas se um diretório de saída não existir. DEL – usado para apagar arquivos que não são mais necessários. DEL /Q %LOG%\*.* irá deletar todos os arquivos de log, sem solicitar confirmação. PAUSE – comando util em ações de debugging. Usado par prevenir que a janela DOS se feche ao término da transformação. SET - usado para definir variáveis. Útil para definir nomes de diretórios. Esta é uma forma simples de editá-los, evitando a necessidade de digitar os nomes mais de uma vez. SetLocal EnableDelayedExpansion/EndLocal – se o comando FIND !ERRORLEVEL! é utilizado deve-se colocar SetLocal EnableDelayedExpansion no começo da expressão e EndLocal no final. Este delay/atraso permite a avaliação do ERRORLEVEL, de outra maneira isto seria feito quando o arquivo batch fosse iniciado, e ERRORLEVEL não seria realmente o ERRORLEVEL do FIND. |
Caracteres úteis do DOS
|
^ - Este é um caractere do tipo escape. Ele pode agir como um caractere contínuo (certifique-se de que não existem espaços em branco após ele.) fme acad2gml_load.fmw --SourceDataset_ACAD "%%F"^ --DestDataset_GML "%OUTPUT%\%%~nF.gml"^ --LOG_FILE "%LOG%\%%~nF_load.log" É o mesmo que: fme acad2gml_load.fmw --SourceDataset_ACAD "%%F" --DestDataset_GML "%OUTPUT%\%%~nF.gml" --LOG_FILE "%LOG%\%%~nF_load.log" | - Usado para afunilar os resultados de um comando para outro comando. FME | FIND "Build" irá encontrar o numero build do FME.
> - envia uma saída de um comando (por exemplo, ECHO) para um novo arquivo de texto. Este ira sobrescrever o arquivo existente. >> - envia uma saída de um comando (por exemplo, ECHO) para um novo arquivo de texto. Este NÃO irá sobrescrever o arquivo existente. :: - usado para criar uma linha de comentário. Este é superior a usar o REM-- é mais rápido e não tem limitações sobre quais caracteres podem ser usados no comentário. @ - previne que um comando seja realizado em ECHO, mesmo que o ECHO esteja definido como ON. Variáveis úteis !ERRORLEVEL! – usado para retornar um ERRORLEVEL do FIND. Um valor de 0 significa que a string de busca foi encontrada, e um valor de 1 significa que ele não foi. Utilize-o ao invés de %ERRORLEVEL%. Esta variável é expandida quando o comando roda, não quando o arquivo de batch inicia. %DATE% - retorna a data atual. Útil para criação de atributos de formato de data. %TIME% - retorna a hora atual. Útil para criar atributos de formato de hora. %CD% - retorna o diretório atual. O diretório a partir do qual o arquivo de batch começou. Password – pode-se criar um ambiente de variáveis (variáveis do usuário) chamado PW. Depois, podemos chamar um password no arquivo batch utilizando %PW%, ao invés de inserir o password para o arquivo batch atual.
EXEMPLO: CompleteBatchExample.zip |
