У меня есть много папок в D:\FolderA и в какой-то момент большинстве (но не все) папок, где скопировано в D:\FolderB. Что лучший способ состоит в том, чтобы перечислить все "недостающие" папки в FolderB?
Если Вы находитесь на Windows XP, можно использовать утилиту Windiff.exe для сравнения двух каталогов.
Другая альтернатива должна использовать WinMerge, который является открытым исходным кодом differencing и объединяющимся инструментом для Windows. WinMerge может сравнить и папки и файлы, представив различия в визуальном текстовом формате, который легко понять и обработать. Ниже некоторый screenies.
Результаты сравнения папки:
Папка сравнивает структурный вид:
Это должно быть достаточно легко в PowerShell.
Цель: Получите список всех подпапок папки $SourceFolder
для которого папка с тем же именем не существует под папкой $DestFolder
. Поместите следующее в файл сценария:
param([string]$SourceFolder, [string]$DestFolder)
Get-ChildItem $SourceFolder| Where-Object { $_.PSIsContainer -and -not (Test-Path ( Join-Path $DestFolder$_.Name ))}
Вывод может затем быть сохранен в файл или далее обработан (например, создать сценарий для копирования недостающих папок).