2

У меня есть много папок в D:\FolderA и в какой-то момент большинство (но не все) из папок были скопированы в D:\FolderB. Каков наилучший способ перечислить все "отсутствующие" папки в FolderB?

2 ответа2

2

Если вы используете Windows XP, вы можете использовать утилиту Windiff.exe для сравнения двух каталогов.

Другой альтернативой является использование WinMerge, который является средством различий и слияния с открытым исходным кодом для Windows. WinMerge может сравнивать как папки, так и файлы, представляя различия в визуальном текстовом формате, который легко понять и обрабатывать. Ниже несколько скриншотов.

Результаты сравнения папок:

Результаты сравнения папок

Папка Сравнение дерева просмотра:

Папка Сравнение дерева

1

Это должно быть достаточно просто в PowerShell.

Цель: получить список всех подпапок папки $SourceFolder для которых папка с таким именем не существует в папке $DestFolder . Поместите следующее в файл скрипта:

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

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

Выходные данные могут быть сохранены в файл или обработаны (например, для создания сценария для копирования отсутствующих папок).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .