Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde pessoal,
Hoje tive um problema com a exportação de um BAT pois o CMD do Windows não reconhecia a linha de comando interna.
Vamos ao caso:
Faço uma carga incremental com a venda do dia anterior e preciso mover o TXT para outro local para não repetir a importação.
Construi o código abaixo seguindo algumas dicas e tutorias de alguns cases que li para fazer a contagem e mover estes arquivos para um backup.
Foi necessário baixar uma pequena ferramenta chamada bomremover.exe (http://www.mannaz.at/codebase/utf-byte-order-mark-bom-remover/) que remove o Byte Order Mark do UTF e resolve o problema de leitura do arquivo pelo CMD do Windows.
Segue abaixo o código final.
BatFile:
LOAD 'ARQUIVOS DE VENDAS' as [@echo off]
AUTOGENERATE(1);
FOR EACH vFile IN FILELIST('..\04-ORIGENS\MOV-VENDAS-*.txt')
BatFile:
LOAD 'MOVE $(vFile) ..\08-BKP\MOV-VENDAS\' AS [@echo off]
AUTOGENERATE(1);
NEXT
STORE BatFile INTO [..\07-BAT\MOVE-FILE-VENDAS.BAT](txt);
DROP TABLE BatFile;
EXECUTE cmd.exe /c "echo. | ..\07-BAT\bomremover ..\07-BAT\ *.BAT";
EXECUTE CMD.EXE /c ..\07-BAT\MOVE-FILE-VENDAS.BAT;
Aproveitando para comentar um pequeno erro que comenti no endereçamento do meu BAT mas que não gerava erro na carga.
A linha "EXECUTE CMD.EXE /c ..\07-BAT\MOVE-FILE-VENDAS.BAT;" eu enderecei o bat no formato "EXECUTE CMD.EXE /c [..\07-BAT\MOVE-FILE-VENDAS.BAT];" utilizando [ ] e o script executava normalmente, finalizava e tudo mais, só não movia os arquivos.
Quando removi os colchetes o código funcionou e moveu os arquivos como esperado.
Espero que a situação acima ajude caso alguém se depare com estes problemas.
Forte abraço.
Me ajudou bastante.
Obrigado!