Como remover arquivos antigos no Windows Server

Neste artigo demonstro como remover arquivos antigos no Windows Server baseados numa certa quantidade de dias.

O primeiro exemplo que demonstrarei é como deletar todos os arquivos de uma pasta diariamente.

1. Para isso abriremos um bloco de notas e escreveremos:

"forfiles /p caminhodosarquivos /c "cmd /c del @path /q & rd @path /s /q"

No meu exemplo ficou assim:

212Com isso, quero dizer que meu script irá apagar todos os arquivos da minha pasta Arquivos. Após digitado os comandos salve no formato .bat.

Para conhecer mais sobre o comando forfiles, clique nessa documentação: https://technet.microsoft.com/pt-br/library/cc753551(v=ws.10).aspx

2. Agora iremos testar o script. Antes de executar o script, iremos colocar alguns arquivos dentro da pasta “c:\Arquivos” e executar o script para verificar se os arquivos foram removidos. Abaixo preenchemos a pasta com alguns arquivos:

231

3. Executando o script:

241
Verifique acima
que todos os arquivos inserido na pasta c:\arquivos foram apagados.

Agora como iremos agendar este script para deletar os arquivos diariamente? Para isso iremos usar o agendador de tarefas.

4. Clique em Iniciar e digite agendador de tarefas. Com ele aberto, clique em: Criar Tarefa Básica

98

5. Agora iremos inserir o nome e descrição da tarefa. Após inseridas as informações, clique em Avançar.

106

6. Na próxima tela iremos escolher o período em que a tarefa será executada. Para nosso caso iremos escolher diariamente.

119

7. Agora iremos escolher a data que irá se iniciar a tarefa. Para o meu exemplo, iremos digitar a data do mesmo dia que a tarefa está sendo criada e a hora 23:06. Com isso estou dizendo que a tarefa será executada diariamente (definido na aba anterior) às 23:06, repetindo a cada 24 horas. Após definido, iremos clicar em Avançar.

125

8. Na próxima tela iremos informar qual ação a tarefa dispará quando executada. No nosso exemplo, vamos marcar a opção “Iniciar um programa”. Este programa em que colocaremos será o script feito anteriormente. Após marcada a opção, clique em Avançar.

134

9. Iremos agora clicar em “Procurar” e colocaremos o caminho onde está o script. No exemplo abaixo ficou no desktop do usuário administrador.

143

10. Clique em Concluir.

153

A tarefa será criada, veja abaixo em tarefas ativas.

163

11. Agora iremos clicar na tarefa para alterar algumas configurações da mesma. Com as configurações abertas, marque a opção Executar estando o usuário conectado ou não. Com isso queremos dizer que a tarefa será executada mesmo que o usuário administrador não esteja conectado.

172

Agora iremos na aba configurações e iremos marcar a opção se ocorrer falha na tarefa, reiniciar a cada 1 minuto. Depois de marcadas as configurações, clicaremos em Ok.

182

Aparecerá uma tela pedindo as credencias do usuário para salvar as configurações. Digitaremos a senha e clicamos em OK.

191

Tarefa criada. Resumindo ela: será executada diariamente às 23:06, começando na data 27/07/2016 e sendo executada independente do usuário administrador estar conectado. Caso ocorra alguma falha, será reiniciada a cada 1 minuto. A tarefa tem como objetivo apagar todos os arquivos dentro da pasta colocada do caminho do script.

O nosso segundo exemplo que demonstraremos é como deletar todos os arquivos de uma pasta baseado a um número de dias. Para isso basta somente inserir o parâmetro /d – quantidade de dias no final do script. Veja abaixo:

251

Acima colocamos o parâmetro /d -1. Isso quer dizer que os arquivos que estão há mais de um dia na pasta C:\Arquivos serão apagados.

Caso quiséssemos que diariamente ele apagasse todos os arquivos da pasta que estão há mais de um dia, poderíamos usar o agendador de tarefas como mencionado acima 🙂

Diego Gouveia

Mais artigos deste autor »

Nascido e residente de Fortaleza – CE, Diego Lima é graduado em Análise de Sistemas, MTAC (Multi-Plataform Tecnical Audience Contributor), escreve para diversas comunidades técnicas e é autor dos livros: Tudo sobre GPOs no Windows Server e Administrando o Active Directory com o PowerShell. Atualmente é Analista de TI e busca sempre aprender mais para o seu crescimento profissional.


1 Comentários

Fernando
1

Boa noite Diego, show de bola o script, funcionou perfeito, mas tenho um problema, tenho vários usuários que se conectam em uma VM, neste bat precisaria ele aponta para um determinada pasta, saberia me dizer um comando que poderia usar para o bat passar em todas as pastas “downloads” do c:\users\…”
Obrigado.

Deixe seu comentário

Seu endereço de e-mail não será publicado. Campos com * são obrigatórios!