www.pcguia.ptpcguia.pt - 3 mai. 16:09

Como comparar pastas (ou directorias) no Windows

Como comparar pastas (ou directorias) no Windows

Métodos para comparar pastas de forma automática. Descubra como identificar as diferenças de conteúdo entre duas pastas sem esforço.
Neste artigo Através das propriedades das pastasCom o WinMergeAtravés da linha de comandosAtravés da PowershellQual é o melhor método?

A estas horas deve estar a perguntar se a forma mais simples de comparar o conteúdo de duas pastas não será abri-las e ver o que lá está dentro. No entanto, quando contêm centenas, ou milhares, de ficheiros é uma tarefa que, francamente, não vale o esforço. Nestes casos têm de se usar métodos mais automáticos.

Através das propriedades das pastas

Uma forma simples de ver as diferenças de conteúdo entre duas pastas é abrir as propriedades de cada uma. Nessas janelas é mostrada a quantidade de ficheiros que estão em cada uma e outras informações, como o espaço que ocupam no armazenamento.

Pastas_1 As propriedades de duas pastas.

Isto só funciona se quiser ver a quantidade de espaço que cada pasta ocupa, mas não dá qualquer informação acerca dos ficheiros que estão em cada uma.

Para o fazer, clique com o botão direito em cima do ícone de cada pasta e escolha opção ‘Propriedades’ no menu de contexto. Para ver melhor, arrume as janelas umas ao lado das outras para conseguir ter uma visão geral de cada uma.

Com o WinMerge

Esta é uma ferramenta de terceiros que facilita muito a comparação do conteúdo de duas ou mais pastas porque dispensa a utilização da linha de comandos.

- Publicidade -

Há muitas aplicações deste tipo, mas escolhemos o WinMerge porque consideramo-lo uma das melhores ou mesmo a melhor. A sua função principal é fundir pastas, mas também pode ser usada para comparar o conteúdo.

A primeira coisa a fazer é descarregar e instalar o programa (o link para o site oficial está acima). Escolha a primeira opção de download. Depois de descarregar o programa, instale-o e execute-o.

Quando o programa é executado pela primeira vez, aparece uma janela em branco porque ainda não foram escolhidas pastas nenhumas.

Abra uma pasta através do menu ‘Ficheiro’, ‘Abrir’. Também pode usar a combinação de teclas CTRL+O.

Como se pode ver pela janela acima, podem abrir-se até três pastas de uma vez para as comparar. Clique em ‘Explorar’ em cada linha para escolher as pastas que serão comparadas. Claro que tem de abrir pelo menos duas para poder fazer uma comparação. A terceira é opcional.

No final, clique em ‘Comparar’ ou prima a tecla enter para dar início ao processo de comparação. Dependendo do conteúdo vai demorar mais ou menos tempo.

Quando a busca acaba, os ficheiros aparecem numa lista fácil de ler. Os ficheiros únicos têm indicação ‘Apenas na direita’ ou ‘Apenas na esquerda’, dependendo da pasta onde estiverem. Os ficheiros idênticos nas duas pastas são assinalados a vermelho.

Através da linha de comandos

O Windows também disponibiliza um conjunto de ferramentas que permitem comparar ficheiros. No entanto, estes utilitários não têm interface gráfica, por isso têm de ser usados através da utilização da linha de comandos. Uma destas ferramentas é o comando ‘robocopy’.

Como se pôde ver anteriormente, as propriedades das pastas não dizem quase nada acerca do conteúdo. Isto é um problema quando tiver de escolher ficheiros para apagar ou copiar para outro lado. É aqui que entra o ‘robocopy’.

Para abrir uma janela da linha de comandos, aceda a menu ‘Iniciar’ e escreva ‘cmd’.

Para comparar o conteúdo de duas pastas, insira o comando ‘robocopy’ seguido dos caminhos de cada uma e no final os parâmetros do comando. Esta última parte é necessário porque o ‘robocopy’ é um comando para fazer cópias. No nosso exemplo, o comando fica da seguinte forma:

robocpy “F:\OneDrive\Ambiente de Trabalho\Linux” “F:\OneDrive\Ambiente de Trabalho\Linux – Cópia” /L /NJH /NJS /NP /NS

DICA: Se não souber o caminho de cada pasta, clique com o botão direito do rato em cima da primeira e escolha a opção ‘Copiar como caminho’ no menu de contexto. A seguir cole na janela da linha de comandos a seguir a ‘robocopy’. Faça o mesmo para a segunda pasta. No final copie e cole os parâmetros /L /NJH /NJS /NP /NS a seguir ao caminho da segunda pasta.

Quando estiver tudo pronto, prima a tecla Enter. O sistema vai comparar o conteúdo das duas pastas e mostra um resumo das diferenças. Os ficheiros únicos que estão na primeira pasta aparecem com indicação ‘New File’ e os ficheiros diferentes na segunda pasta aparecem com a indicação ‘Extra file’. Quando os ficheiros são iguais nas duas pastas, são colocados em ordem descendente pela data de criação.

Através da Powershell

A linha de comandos não é a única interface para dar comandos ao Windows. A Powershell é uma opção mais moderna e poderosa que pode ser usada para automatizar a maioria das tarefas do Windows e também para comparar o conteúdo das pastas.

No entanto, a Powershell não tem um comando dedicado para comparar pastas. Por isso, é necessário encadear vários comandos para conseguir ver as diferenças entre pastas.

Para conseguir fazê-lo, é necessário usar primeiro o comando ‘Get-ChildItem’ em ambas as pastas e guardar os resultados em variáveis diferente. A segui, podemos usar o comando ‘Compare-Object’ para comparar os dados e mostrar as diferenças.

Se acha isto um pouco mais complicado que a linha de comandos que usámos na secção anterior tem toda a razão. A grande vantagem de usar a Powershell é poder aumentar a escala da comparação para centenas ou mesmo milhares de pastas.

Para começar, abra o menu ‘Iniciar’ e escreva ‘powershell’ e clique no primeiro resultado que surgir. A janela que se abre é muito semelhante à da linha de comandos.

Use o comando ‘Get-ChildItem’ na primeira pasta, desta forma:

$folder1 = Get-ChildItem -Recurse -Path “CAMINHO DA PASTA”

Substitua ‘CAMINHO DA PASTA” com o caminho da primeira pasta a comparar. No nosso caso fica assim:

$folder1 = Get-ChildItem -Recurse -Path “F:\OneDrive\Ambiente de Trabalho\Linux”

No comando, a indicação ‘$folder1’ é a variável onde serão guardados os dados recolhidos pelo comando ‘Get-ChildItem’. O parâmetro ‘-Recurse’ serve para o comando procurar dentro da pasta e de quaisquer outras pastas que estejam dentro da primeira. Prima a tecla Enter. O comando não retorna qualquer resultado porque os dados são guardados na variável ‘$folder1’.

Use o mesmo comando na segunda pasta, mas use uma varável com um nome diferente.

O nosso exemplo fica assim:

$folder2= Get-ChildItem -Recurse -Path “F:\OneDrive\Ambiente de Trabalho\Linux – Cópia”

Prima a tecla Enter para executar o comando.

De seguida vamos usar o comando ‘Compare-Object’ nas duas variáveis para ver as diferenças entre os conteúdos das duas pastas.

Comando é o seguinte:

Compare-Object -ReferenceObject $folder1 -DifferenceObject $folder2

Qual é o melhor método?

O Windows não tem muitas formas de comparar o conteúdo de duas ou mais pastas, por isso o melhor método é mesmo a utilização de uma ferramenta de terceiros. É mais flexível e o mais prático de usar.

Se estiver apenas à procura de uma forma de comparação rápida, usar as propriedades das pastas é forma mais fácil e é suficiente para muitos casos.

NewsItem [
pubDate=2024-05-03 17:09:29.0
, url=https://www.pcguia.pt/2024/05/como-comparar-pastas-ou-directorias-no-windows/
, host=www.pcguia.pt
, wordCount=1118
, contentCount=1
, socialActionCount=0
, slug=2024_05_03_184518472_como-comparar-pastas-ou-directorias-no-windows
, topics=[guia completo, tecnologia, dicas, windows, pastas]
, sections=[ciencia-tecnologia]
, score=0.000000]