Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Ferramenta PowerShell para comparação avançada de pastas com relatório visual HTML, processamento paralelo e rastreamento de sincronização. Ideal para verificar diferenças entre pastas de rede e locais.

License

Notifications You must be signed in to change notification settings

mathewsbuzetti/powershell-folder-comparison-tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

42 Commits

Repository files navigation

🔄 Comparador de Pastas e Conteúdo - PowerShell

LinkedIn PowerShell Status Documentation

Aplica-se a: ✔️ Windows 10/11 ✔️ Windows Server 2016/2019/2022

📋 Metadados

Metadado Descrição
Título Comparador de Pastas e Conteúdo - Versão Aprimorada
Versão 1.0.0
Data 07/03/2025
Autor Mathews Buzetti
Tags powershell, file-comparison, directory-sync, reporting
Status ✅ Aprovado para ambiente de produção

📷 Visualização do Relatório Interativo

A ferramenta gera um relatório HTML interativo que facilita a visualização e gerenciamento das diferenças entre as pastas comparadas. O relatório inclui gráficos, estatísticas e uma tabela de arquivos com recursos de filtragem e marcação de progresso.

👇 Clique no botão abaixo para visualizar um exemplo de relatório de comparação entre "Documentos vs Backup" 👇

Acessar Demo
O demo mostra todas as funcionalidades do relatório, incluindo gráficos, estatísticas e tabela interativa

image

image

image

📋 Índice

  1. Metadados
  2. Screenshots
  3. Funcionalidades
  4. Pré-requisitos
  5. Como Usar
  6. Configuração de Múltiplas Pastas
  7. Parâmetros do Script
  8. Tratamento de Erros e Feedback
  9. Relatório HTML
  10. Versionamento

💻 Funcionalidades

📊 Principais Recursos

  • Comparação eficiente de dois diretórios
  • Processamento paralelo para melhor desempenho em grandes estruturas de arquivos
  • Relatório HTML interativo com gráficos, estatísticas e tabela de arquivos
  • Controle de progresso visual em tempo real
  • Suporte para caminhos longos
  • Tratamento otimizado para grandes volumes de arquivos
  • Rastreamento de tempo e estatísticas de processamento
  • Sistema de checklist para acompanhamento de sincronização

⚙️ Modos de Processamento

  • Paralelo: Utiliza múltiplos threads para melhor desempenho em sistemas modernos
  • Sequencial: Compatível com ambientes mais restritos como PowerShell ISE

📈 Relatório HTML Avançado

  • Gráficos de distribuição por tamanho de arquivo
  • Gráficos de extensões mais comuns
  • Distribuição por subpastas
  • Tabela completa dos arquivos com filtros e paginação
  • Sistema de progresso para acompanhamento de sincronização
  • Estatísticas detalhadas do resultado da comparação

📋 Pré-requisitos

  • Windows 10/11 ou Windows Server 2016/2019/2022
  • PowerShell 5.1 ou superior
  • Permissões de leitura nas pastas a serem comparadas
  • Navegador moderno para visualizar o relatório HTML (Chrome, Edge, Firefox)
  • PowerShell 7+ para processamento paralelo (opcional, mas recomendado para melhor performance)

🚀 Como Usar

1. Configuração Básica

  1. Baixe o script:

Download Script Compare-FolderStructures.ps1

  1. Abra o script em um editor de texto como Notepad++ ou VSCode
  2. Localize a seção de configuração no final do script:
# Configurações de exemplo (podem ser alteradas conforme necessário)
$outputDir = "C:\temp\COMPARAÇÕES" # Pasta onde serão salvos os relatórios
# Definir os pares de pastas para comparação
$folderPairs = @(
 # Par 1: Documentos Rede vs Documentos Local
 @{
 Folder1 = "\\servidor\compartilhamento\Documentos"
 Folder2 = "D:\Backup\Documentos"
 }
)
# Executar a comparação com geração automática de nomes
Compare-FolderPairs -FolderPairs $folderPairs -OutputDir $outputDir
  1. Modifique as variáveis:
    • $outputDir: Pasta onde os relatórios HTML serão salvos
    • $folderPairs: Caminhos das pastas que deseja comparar
      • Folder1: Pasta de origem (arquivos que serão verificados)
      • Folder2: Pasta de destino (onde será procurado se o arquivo existe)

2. Execução do Script

Método 1: PowerShell ISE ou Console

  1. Abra o PowerShell ISE ou o Console do PowerShell
  2. Navegue até a pasta do script:
    cd "C:\Caminho\Para\Pasta\Do\Script"
  3. Execute o script:
    .\Compare-FolderStructures.ps1

Método 2: Clique com botão direito

  1. Clique com o botão direito no script
  2. Selecione "Executar com PowerShell"

3. Resultados

  • O script mostrará o progresso em tempo real no console
  • Ao concluir, um relatório HTML será gerado na pasta de saída configurada
  • O relatório será aberto automaticamente no navegador padrão

🔄 Configuração de Múltiplas Pastas

Para comparar múltiplos pares de pastas em uma única execução, modifique a configuração $folderPairs adicionando mais itens ao array:

# Definir os pares de pastas para comparação
$folderPairs = @(
 # Par 1: Documentos Rede vs Documentos Local
 @{
 Folder1 = "\\servidor\compartilhamento\Documentos"
 Folder2 = "D:\Backup\Documentos"
 },
 # Par 2: Imagens Rede vs Imagens Local
 @{
 Folder1 = "\\servidor\compartilhamento\Imagens"
 Folder2 = "D:\Backup\Imagens"
 },
 # Par 3: Projetos Rede vs Projetos Local
 @{
 Folder1 = "\\servidor\compartilhamento\Projetos"
 Folder2 = "D:\Backup\Projetos" 
 }
)

Cada par de pastas gerará um relatório HTML separado na pasta de saída configurada.

🔧 Parâmetros do Script

Função Compare-FolderPairs

Parâmetro Descrição Valores Padrão
FolderPairs Array de objetos com pares Folder1 e Folder2 Obrigatório
OutputDir Diretório onde serão salvos os relatórios "C:\temp"
HandleLongPaths Habilita suporte para caminhos longos $false
UseParallel Utiliza processamento paralelo para melhor desempenho $true
MaxThreads Número máximo de threads para processamento paralelo Número de núcleos do processador

Função Compare-Folders

Parâmetro Descrição Valores Padrão
Folder1Path Caminho da pasta de origem Obrigatório
Folder2Path Caminho da pasta de destino Obrigatório
HTMLReport Caminho para o arquivo HTML de relatório "" (gerado automaticamente)
HandleLongPaths Habilita suporte para caminhos longos $false
UseParallel Utiliza processamento paralelo para melhor desempenho $true
MaxThreads Número máximo de threads para processamento paralelo 0 (usa o padrão global)
ShowDebug Exibe mensagens de debug durante a execução $false

⚠️ Tratamento de Erros e Feedback

O script fornece feedback visual em tempo real com cores diferentes:

  • 🟦 Azul/Ciano: Informações do processo
  • 🟩 Verde: Operações concluídas com sucesso
  • 🟨 Amarelo: Avisos e alertas não críticos
  • 🟥 Vermelho: Erros críticos que impediram a execução

Erros comuns que são tratados automaticamente:

  • Pastas inacessíveis ou inexistentes
  • Problemas de permissão em arquivos
  • Caminhos muito longos (quando HandleLongPaths é ativado)
  • Limitações do PowerShell ISE (modo paralelo é desativado automaticamente)

📊 Relatório HTML

O relatório HTML gerado inclui:

  1. Cabeçalho com Informações Gerais

    • Pastas comparadas (origem e destino)
    • Data e hora da comparação
    • Estatísticas gerais (arquivos analisados, arquivos ausentes, tamanho total)
  2. Resumo da Análise

    • Total de arquivos analisados
    • Arquivos ausentes na pasta de destino
    • Tamanho total dos arquivos ausentes
  3. Visualizações Gráficas

    • Distribuição por tamanho de arquivo
    • Top 10 extensões mais comuns
    • Top 5 subpastas com mais arquivos ausentes
  4. Sistema de Progresso de Sincronização

    • Barra de progresso visual
    • Contadores de arquivos pendentes e concluídos
    • Sistema de checklist para marcar arquivos já processados
  5. Tabela Detalhada

    • Lista completa de todos os arquivos ausentes
    • Filtros e ordenação por qualquer coluna
    • Paginação para melhor navegação
    • Botões para copiar caminhos

🔄 Versionamento

  • Versão: 1.0.0
  • Última atualização: 07/03/2025

About

Ferramenta PowerShell para comparação avançada de pastas com relatório visual HTML, processamento paralelo e rastreamento de sincronização. Ideal para verificar diferenças entre pastas de rede e locais.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

AltStyle によって変換されたページ (->オリジナル) /