Como posso encontrar todas as pastas na Pasta A que não existem na Pasta B?

2

Tenho muitas pastas em D: \ FolderA e, em algum momento, a maioria (mas não todas) das pastas copiadas para D: \ FolderB. Qual é a melhor maneira de listar todas as pastas "ausentes" no FolderB?

    
por Espo 25.01.2011 / 07:36

2 respostas

2

Se você estiver no Windows XP, poderá usar o utilitário Windiff.exe para comparar dois diretórios.

Outra alternativa é usar o WinMerge , que é uma ferramenta de diferenciação e mesclagem de código aberto para o Windows. O WinMerge pode comparar pastas e arquivos, apresentando diferenças em um formato de texto visual que é fácil de entender e manipular. Abaixo estão alguns screenies.

Resultados da comparação de pastas:

Visualizaçãoemárvoredacomparaçãodepastas:

    
por 25.01.2011 / 09:13
1

Isso deve ser fácil o suficiente no PowerShell.

Objetivo: Obter uma lista de todas as subpastas da pasta $SourceFolder para as quais uma pasta com o mesmo nome não existe na pasta $DestFolder . Coloque o seguinte em um arquivo de script:

param([string]$SourceFolder, [string]$DestFolder)

Get-ChildItem $SourceFolder| Where-Object { $_.PSIsContainer -and -not (Test-Path ( Join-Path $DestFolder$_.Name ))}

A saída pode então ser salva em um arquivo ou processada posteriormente (por exemplo, para criar um script para copiar as pastas ausentes).

    
por 25.01.2011 / 10:03