Se você tem uma pasta onde salva arquivos temporários e precisa limpar essa pasta com muita frequência para excluir arquivos os antigos, eu tenho uma boa notícia pra você, é possível automatizar a limpeza dessa pasta. Neste tutorial ensinaremos como excluir automaticamente arquivos antigos de qualquer pasta no PC.
O Windows possui o recurso “Sensor de armazenamento”, que deleta automaticamente arquivos antigos da Lixeira e da pasta Downloads, mas, ele é imitado a essas duas pastas, ele não permite limpar outras pastas.
Usando o script que ensinaremos nesse tutorial, você poderá excluir arquivos antigos de qualquer pasta em seu computador e também poderá definir quantos dias deseja esperar antes de excluir os arquivos na pasta.
Passo 1 – Como criar o script
1. Para começar, copie o script abaixo e cole no bloco de notas.
<#
Nome do script: Excluir arquivos antigos
#>
# Defina o caminho da pasta que deseja limpar
$folderPath = "" # Adicione o caminho da pasta entre aspas. Por exemplo: "C:\Users\SeuUsuario\Documents\"
# Dias de espera antes de excluir um arquivo
$days = 90 # Altere este valor se necessário. Padrão = 90
# Check if the folderPath variable is set
if ($folderPath -eq "") {
Write-Host "Error: The folder path is not set. Please edit the script and set the `$folderPath` variable to the directory you wish to clean."
exit 1 # Exit with error code 1 when no path is set
} elseif (Test-Path $folderPath) {
# Get today's date
$currentDate = Get-Date
# Calculate the date limit based on user-specified days
$dateLimit = $currentDate.AddDays(-$days)
# Get all the files in the folder
$files = Get-ChildItem -Path $folderPath -File
# Loop through each file
foreach ($file in $files) {
# Check if the file's last modified time is older than the specified number of days
if ($file.LastWriteTime -lt $dateLimit) {
# Delete the file forcefully
Remove-Item $file.FullName -Force
Write-Host "Deleted: $($file.FullName)"
}
}
Write-Host "Limpeza completa."
exit 0
} else {
Write-Host "Error: The folder path '$folderPath' does not exist or is not accessible. Please verify the path and ensure it is correct. Edit the script to update the path if necessary."
exit 1 # Exit with error code 1 when the path does not exist
}
2. Modifique a variável $folderPath para adicionar o caminho da pasta entre aspas.
3. Altere também a variável $days para definir após quantos dias os arquivos serão excluídos. O padrão é 90 dias. Isso significa que ele irá excluir os arquivos na pasta que não foram modificados nos últimos 90 dias.
4. Clique no menu “Arquivo > Salvar” e navegue até a pasta onde deseja salvar o script.
5. No campo “Nome do Arquivo”, definia o nome do arquivo para algo como “DeletarArquivosAntigos.ps1”
6. Selecione “Todos os arquivos” no menu “Tipo de arquivo” e clique em “Salvar “.
Passo 2 – Como executar o script automaticamente
1. Clique com o botão direito no botão do menu iniciar e selecione a opção Terminal (Administrador).
2. Digite o comando abaixo para permitir que o script seja executado em seu computador.
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
3. Abra o menu Iniciar, pesquise por agendador e abra o Agendar de Tarefas.
4. Clique na opção “Criar Tarefa Básica…” disponível do lado direito do Agendador de tarefas.
5. Digite um nome para a tarefa, como “Limpeza automática pasta SoftDownload” e clique em “Avançar”.
6. Na tela seguinte, defina quando a tarefa agendada deve ser executada. Por exemplo, você pode executar a limpeza diariamente, semanalmente, mensalmente, ao iniciar o computador, fazer logon do seu usuário, etc.
7. Ao escolher a opção “Diariamente” você precisará definir o horário em que a tarefa deve ser executada, na opção “Semanalmente”, você precisará definir também os dias da semana e na mensal, os dias e os meses.
8. Na etapa seguinte, selecione a opção “Iniciar um programa” e clique em “Avançar”.
9. Em seguida, no campo “Programa/script”, digite powershell.exe e no campo “Adicione argumentos”, digite o caminho do script “DeletarArquivosAntigos.ps1”. Por exemplo, “C:\Scripts\DeletarArquivosAntigos.ps1”.
10. Marque a caixa da opção “Abrir a caixa de Propriedades da tarefa depois de clicar em “Concluir” e clique em “Concluir”. Você poderá acessar essa opção mais tarde clicando na tarefa na “Biblioteca do Agendador”.
11. Na janela aberta, marque a caixa da opção “Executar com privilégios mais altos” e clique em “OK”
12. Pronto, sua tarefa foi criada e será executada automaticamente de acordo com o agendamento definido. Para restar o funcionamento do script, clique na opção “Biblioteca do Agendador” do lado esquerdo para ele exibir todas as tarefas agendadas, clique com o botão direito na tarefa criada e selecione a opção “Executar”.
13. Ele abrirá rapidamente uma janela do PowerShell, que será fechada logo em seguida. Por fim, verifique na pasta definida se os arquivos modificados a mais de 30 dias foram realmente deletados automaticamente.