Hi Bittu,
Executar comando OS através da função exec() de BODS como descrito por
joseph_muiruri
pode ser mais fácil, especialmente no Linux. No entanto, se estiver determinado a usar apenas a função integrada do BODS, então esta solução pode ser útil.
1- Crie essas variáveis globais a nível de trabalho:
2- Em um script, escreva o seguinte:
$G_FilePath='//sharedpath/test_file/*.txt'; #O caminho de rede
$G_RetentionDays =30; #Período de retenção em dias
$G_FileCounter=1; #Inicializar contador de loop
print(wait_for_file( $G_FilePath, 0, 0,-1,$G_FileList, $G_FileCount ,',')); #produzir lista de arquivos no caminho dado com a contagem
print('Arquivos encontrados no caminho dado:'|| $G_FileList); #imprimir lista
print('Número de arquivos no caminho: '||$G_FileCount); #imprimir quantos
while ($G_FileCounter<=$G_FileCount) #verificar cada arquivo no caminho para sua data de modificação
begin
$G_FileName=print(word_ext( $G_FileList,$G_FileCounter,',')); #Verificar um arquivo de cada vez
$G_FileChangedDate =print(get_file_attribute( $G_FileName,'date_modified'));#obter atributo de data de modificação do arquivo, pode ser alterado para data_criada
$G_FileName=replace_substr( $G_FileName,'//','\\\\');#Ajustar o caminho UNC para se adequar à função de exclusão de arquivos
if ($G_FileChangedDate <sysdate() - $G_RetentionDays)
begin
print( file_delete( $G_FileName));#excluir arquivo antigo
print('Arquivo :'||$G_FileName||' excluído');
end
$G_FileCounter=$G_FileCounter+1;
end
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019