Como gravar um arquivo em lotes para remover subpastas e arquivos de uma pasta com base no tempo

1

Eu preciso remover os arquivos de uma pasta a cada 4 horas. Caso contrário, a pasta de armazenamento será preenchida com arquivos e o servidor de produção será interrompido.

    
por user9950 19.06.2009 / 15:40

3 respostas

6

Você pode criar um arquivo em lotes para excluir os arquivos da subpasta e criar uma tarefa agendada para executar o arquivo em lotes a cada 4 horas.

Como o Agendador de Janelas não permite tarefas por hora, você teria que ir para as opções avançadas e criar várias tarefas diárias que são compensadas em 4 horas uma da outra.

    
por 19.06.2009 / 15:51
0

Existe um script vbs (google para deleteoldfiles.zip) que usamos para excluir arquivos com mais de um determinado número de dias do nosso servidor de arquivos. Não tenho certeza se ele pode ser configurado para funcionar em quatro horas, mas seria um bom lugar para começar.

    
por 19.06.2009 / 16:18
0

Para excluir todos os arquivos de uma pasta de armazenamento, digamos C: \ Temp, a cada quatro horas, eu usaria o seguinte biterscript.

# Script delete.txt
while (true)
do
    # Collect a list of all files.
    var str list ; lf -n "*" "C:\Temp" ($ftype=="f") > $list

    # Delete all files
    while ($list <> "")
    do
        var str file ; lex "1" $list > $file
        system delete ("\""+$file+"\"")
    done

    # Sleep 4 hours.
    sleep (60*60*4)
done

O Biterscripting pode ser baixado do link . A última vez que verifiquei, estava livre.

Estou colocando o arquivo $ no comando delete entre aspas duplas, caso o arquivo ou caminho possa conter espaços ou outros caracteres especiais.

Patrick

    
por 24.07.2009 / 16:17