Skip to content

About

scripts para automatizar algumas tarefas no Windows

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

🗂️ Organizador de Fotos por Data de Modificação (PowerShell)

Este script em PowerShell organiza automaticamente arquivos de imagem em uma pasta, agrupando-os em subpastas no formato AAAA-MM com base na data de modificação dos arquivos. Ele também gera um log de movimentações, registrando os arquivos que foram movidos e quando.


📌 Requisitos

  • Windows com PowerShell instalado
  • Permissão para executar scripts:
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

🚀 Como usar

  1. Altere o caminho da variável $origem no script para a pasta onde estão suas fotos.
  2. Salve o script com a extensão .ps1, por exemplo: organizar-fotos.ps1
  3. Execute o script no PowerShell:
.\organizar-fotos.ps1
  1. As imagens serão organizadas em subpastas por mês com base na data de modificação, e um arquivo log_movimentacoes.txt será criado com o histórico.

🧩 Explicação do Script

$origem = "C:\Caminho\Para\Sua\Pasta"

📌 Define o diretório onde estão os arquivos que serão organizados.

$logPath = Join-Path $origem "log_movimentacoes.txt"

📝 Define o caminho completo para salvar o log de movimentações.

$arquivos = Get-ChildItem $origem -File

📁 Lista todos os arquivos na pasta especificada, excluindo subpastas.

foreach ($arquivo in $arquivos) {

🔁 Itera sobre cada arquivo encontrado.

if ($arquivo.Extension -match "\.jpg|\.jpeg|\.png|\.gif|\.bmp|\.tiff") {

🖼️ Verifica se o arquivo é uma imagem, baseado na extensão.

$pastaDestino = $arquivo.LastWriteTime.ToString("yyyy-MM")

📅 Extrai o ano e mês da data de modificação do arquivo para nomear a subpasta.

$caminhoDestino = Join-Path $origem $pastaDestino

🔗 Monta o caminho da subpasta destino (ex: C:\Fotos\2025-07).

if (!(Test-Path $caminhoDestino)) {
    New-Item -ItemType Directory -Path $caminhoDestino
}

📁 Verifica se a subpasta já existe. Se não, cria.

Move-Item $arquivo.FullName -Destination $caminhoDestino

🚚 Move o arquivo para a subpasta correspondente.

$logEntry = "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') - '$($arquivo.Name)' modificado em $($arquivo.LastWriteTime) movido para: $caminhoDestino"
Add-Content -Path $logPath -Value $logEntry

📝 Gera uma linha de log com data/hora da execução, nome do arquivo, data de modificação e pasta de destino.


📚 Licença

Este projeto é livre para uso e modificação. Sinta-se à vontade para contribuir ou adaptar às suas necessidades.


👨‍💻 Autor

Criado por Evandro Valente, com apoio técnico do Copilot da Microsoft 😄💙

About

scripts para automatizar algumas tarefas no Windows

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages