1

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

Я на Windows 7, но у меня есть Cygwin, если есть разница командной строки, которую я могу запустить.

Это просто картинки и фильмы. Я переименовал файлы в обоих каталогах в соответствии с принятой датой, поэтому я думаю, что могу просто сравнить имена файлов и мне не нужно заботиться о содержимом файлов. Это делает это легче? Возможно, я могу просто перечислить все файлы, а затем развести два журнала.

2 ответа2

1

Я уверен, что вы можете решить эту проблему с помощью PowerShell или других языков сценариев.

Get-ChildItem - Lists files. 
New Item - Creates folders
Copy-Item - Copy the files.
Compare-Object - Highlights differences.

PS Не могли бы вы уточнить, хотите ли вы создать постоянную новую структуру или синхронизировать две существующие структуры. Если позже, то я бы включил планировщик задач в решение.

0

Прошло много времени с тех пор, как я придумал решение, но я постараюсь повторить его. Я использовал find . -name '*' чтобы получить список всех файлов в обеих структурах и передать его в два текстовых файла. Я вручную вошел в текстовый файл для иерархической структуры и удалил имена папок с помощью regex find-replace on .*/\.*/\ в блокноте ++. Наконец, я удалил все каталоги вручную, которые не были сделаны с регулярным выражением. Затем я сделал diff для двух файлов журнала, чтобы найти файлы, которые не были в обеих структурах.

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