Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Carlos MP

Fazer loop em arquivos de um diretório

Recommended Posts

Tenho um determinado diretório de arquivos do oracle passado por parâmetro, e preciso de um procedimento que dê um loop em cada um deles p/ abrir e pegar alguns dados, e por fim remover estes arquivos. Como eu faço isso? É urgente, pela caridade!!! http://forum.imasters.com.br/public/style_emoticons/default/yay.gif

 

Obrigado,

 

Carlos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado Motta, fiz um script que roda em UNIX, nele devolvi o caminho do diretorio via banco, e então manipulei os arquivos via shell:Diretorios=`sqlplus -silent $ContaSenha <<ENDselect caminho || ';' ||(select caminho from DIRETORIO_STC where nome = 'ENCERRAMENTO_TEMPORARIO') ||';' ||(select marca_remover_stc || ';' || marca_remover_temp_stc from CONTINGENCIA_STC where rownum <=1)from DIRETORIO_STCwhere nome = 'ENCERRAMENTO';EXIT;END`if [ -z "$Diretorios" ]; then echo "Diretorios INT_FTP nao cadastrados na base de dados" exit 0else DiretorioEncerra=`echo "$Diretorios" | cut -d\; -f1` DiretorioEncerraTemp=`echo "$Diretorios" | cut -d\; -f2` FlagAtiva=`echo "$Diretorios" | cut -d\; -f3` FlagDesativa=`echo "$Diretorios" | cut -d\; -f4` if [ "$FlagDesativa" = "S" ]; then cd $DiretorioEncerraTemp for i in `ls -1 $DiretorioEncerraTemp` do n=`cat $DiretorioEncerraTemp/$i|cut -d\| -f1 | awk -F, '{print NF}'` while [ "$n" -gt 0 ] do ba=`cut -d\| -f1 $DiretorioEncerraTemp/$i |cut -d, -f$n` Executor=`sqlplus -s $ContaSenha << EOF exec PR_INSERE_BA_INTERFACE_FTP($ba); COMMIT; EXIT; EOF` n=`expr $n - 1` done rm -rf $DiretorioEncerraTemp/$i done fi if [ "$FlagAtiva" = "S" ]; then cd $DiretorioEncerraTemp rm -rf * cd $DiretorioEncerra rm -rf * fi fiexit 0;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.