Como organizar a pasta downloads automaticamente

Publicidade

Você pode usar o PowerShell para automatizar quase tudo, como, por exemplo, renomear arquivos em lote, abrir múltiplos aplicativos, fazer backup de dados ou organizar automaticamente os arquivos de uma pasta.

Essa última opção pode ser útil para organizar rapidamente pastas, como, por exemplo, a pasta Downloads. uma vez que baixamos muitos arquivos ao longo do dia, e eles acabam ficando espalhados dentro da pasta.

Aprenda neste tutorial como criar um script em PowerShell para organizar automaticamente os arquivos da pasta Downloads, área de trabalho ou de qualquer outra pasta, classificando-os por tipo ao final de cada dia.

Publicidade

Como criar o script para organizar os arquivos automaticamente

1. Abra o bloco de notas e cole o script abaixo:

# 1 - Altere o caminho da pasta que deseja organizar abaixo:
$sourcePath = "C:\Users\srmp\Downloads"
# 2 - Adicione outras categorias e extensões de arquivos que deseja organizar abaixo:
$fileTypes = @{
"Documentos" = @("*.docx", "*.doc", "*.xlsx", "*.xls", "*.pdf", "*.txt", "*.epub", "*.csv")
"Imagens" = @("*.jpg", "*.png", "*.gif", "*.jpeg", "*.svg", "*.avif", "*.heic", "*.webp")
"Audio e Video" = @("*.mp4", "*.mp3", "*.mov", "*.avi", "*.webpm")
"Arquivos ZIP" = @("*.zip", "*.rar", "*.7z")
"Instaladores" = @("*.exe", "*.msi")
}
# 3 - Não altere nada aqui
foreach ($folder in $fileTypes.Keys) {
# Create the destination folder path
$destPath = Join-Path -Path $sourcePath -ChildPath $folder
# Check if the destination folder exists, and create it if it doesn't
if (!(Test-Path -Path $destPath)) {
New-Item -ItemType Directory -Path $destPath | Out-Null
}
# Move matching files from the source folder to the destination folder based on file type patterns
foreach ($pattern in $fileTypes[$folder]) {
Get-ChildItem -Path $sourcePath -Filter $pattern -File -ErrorAction SilentlyContinue | ForEach-Object {
try {
Move-Item -Path $_.FullName -Destination $destPath -Force -ErrorAction Stop
Write-Output "Moved: $($_.FullName) to $destPath"
} catch {
Write-Warning "Failed to move file: $($_.FullName). Error: $_"
}
}
}
}
# 4 - Nesse trecho o script move os arquivos que sobraram para a pasta "Outros" (Não modifique nada aqui).
$outrosFolder = Join-Path -Path $sourcePath -ChildPath "Outros"
if (!(Test-Path -Path $outrosFolder)) {
New-Item -ItemType Directory -Path $outrosFolder | Out-Null
}
# 5 - Move remaining files to "Outros"
Get-ChildItem -Path $sourcePath -File | ForEach-Object {
try {
Move-Item -Path $_.FullName -Destination $outrosFolder -Force -ErrorAction Stop
Write-Output "Moved to Outros: $($_.FullName)"
} catch {
Write-Warning "Failed to move file to Outros: $($_.FullName). Error: $_"
}
}
# 5 - Ao terminar de organizar os arquivos, ele exibirá a mensagem abaixo:
Write-Output "Arquivos organizados com sucesso!"
# 6 - Por fim, ele pausa a tela para você ver a mensagem de conclusão. Se quiser que a janela seja fechada automaticamente, exclua o comando abaixo.
Pause

2. Altere o caminho da pasta que deseja organizar no campo “SourcePath”. Coloque o caminho entre aspas.

3. O segundo passo mostra como os arquivos serão organizados em pastas de acordo com a extensão. Por exemplo, arquivos DOCX serão movidos para a pasta “Documentos” e arquivos JPEG para a pasta “Imagens”.

4. Você pode incluir outras extensões nas categorias com o padrão: “*.extensão”, separando as por vírgula.

5. Além disso, é possível renomear as categorias e adicionar novas categorias. Basta você seguir o mesmo modelo utilizado no script, que é: “Nome da categoria” = @ (“*.extensão1”, “*.extensão2”, “*.extensão3”, etc).

6. Ao terminar a edição você precisa salvar o script com a extensão .ps1 do PowerShell. Para isso, clique no menu “Arquivo > Salvar como” e selecione a pasta onde deseja salvar o script. Em seguida, no campo “Tipo”, selecione “Todos os arquivos (*.*)”, no campo “Nome”, digite OrganizadorDePastas.ps1 e clique em “Salvar”.

Como executar o script para organizar os arquivos automaticamente

1. Para executar o script, clique duas vezes no arquivo “OrganizadorDePastas.ps1”. Caso isso não funcione, clique com o botão direito no “OrganizadorDePastas.ps1” e selecione a opção “Executar com o PowerShell”.

2. Ele irá mover automaticamente os arquivos, conforme o tipo, para “subpastas” nomeadas de acordo com as categorias. Arquivos que não se encaixarem em nenhuma categoria serão movidos para a pasta “Outros”.

Como agendar a execução automática do script

Embora você possa, sempre que desejar, executar o script manualmente, é possível utilizar o agendador de tarefas do Windows para executar, por exemplo, o script automaticamente todos os dias, no final da tarde.

1. Abra o PowerShell, cole o script abaixo, substituindo o caminho do ‘C:\Scripts\OrganizadorDePastas.ps1’ pelo caminho do script que criou. Observe que o caminho e o nome do arquivo não podem conter espaço.

$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-File C:\Scripts\OrganizadorDePastas.ps1"
$trigger = New-ScheduledTaskTrigger -Daily -At "17:00"
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "Organizar pasta diariamente"

2. Após alterar o caminho do script, pressione a tecla “Enter” para adicionar a tarefa agendada no Agendador de Tarefas do Windows. Por padrão, ele será executada diariamente às 17h, mas você pode alterar o horário.

3. Para testar e/ou editar o agendamento, você pode usar o agendador de tarefas do Windows. Abra o menu Iniciar, pesquise por “agendador” e clique na opção “Agendador de Tarefas” para abrir a janela do agendador.

4. Na janela aberta, clique em “Biblioteca do Agendador de Tarefas” para listar todas as tarefas existentes.

5. Para testar o agendamento, localize a tarefa, clique com o botão direito nela e selecione “Executar”.

6. Para editar uma tarefa, basta clicar duas vezes sobre ela para abrir a janela “Propriedades” da tarefa.

Publicidade

Deixe o seu comentário: