segunda-feira, 20 de maio de 2024

Como excluir arquivos antigos automaticamente

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.

Nenhum comentário:

Postar um comentário