Скопируйте только последний файл из вложенных папок
У меня есть папка, содержащая более 1000 папок документов; каждая папка doc имеет 1 или более версий документа (может быть excel, word, html-типы).
Как я могу использовать PowerShell для копирования только самой последней версии из подпапок в одну папку, чтобы я мог выполнять поиск PowerGREP?
После того, как я получу начальную папку файлов; есть ли простой способ сохранить ее?
Любая помощь очень ценится!
Что я уже пробовал:
Поискал в Google и посмотрел на эту тему в проекте кода: копирование файлов с помощью Microsoft Powershell
Mohibur Rashid
Каково правило идентификации последнего файла?
Member 14068043
Правила таковы:
-если папка пуста, продолжайте (это означает, что создается новый документ)
-если в папке есть 1 файл, скопируйте его. У меня нет даты начала.
-если в папке есть несколько файлов, скопируйте тот, который был сохранен в последний раз.
-если папка помечена как "архивная" - пропустите эту папку и ее подпапки.
Нет никакой последовательности в именовании файлов. Есть текущие файлы, которые имеют метку времени, добавленную к концу имени файла, большинство из них этого не делают. Это нечто более недавнее.
Я мог бы вручную вытащить копию текущих файлов {kringing}, а затем еженедельно использовать поиск Windows для создания списка новых имен файлов для извлечения с помощью Powershell? Мне придется вручную удалить старые.
Но будет ли это легче выяснить? Спасибо вам ооочень много за то, что вы взглянули на это :-)
Mohibur Rashid
Вы рассматривали возможность сравнения временной метки последнего Чанга?
Member 14068043
Можно ли это использовать, если само имя файла отличается?
Mohibur Rashid
Это было бы очень трудно, если бы имя файла было другим. Особенно в случае двоичного файла. Если бы вы подумали о системе управления файлами (я знаю, что ваша текущая мысль-powershell), где пользователь может загрузить последний файл под ключом, то не имело бы значения, каким будет имя файла, или даже в тех случаях, когда тип файла будет изменен.
Mohibur Rashid
Еще один вариант-это интеллектуальное программное обеспечение, такое как git, git может отслеживать изменения и даже переименовывать файлы, а также хранить исторические данные. Но это хорошо работает только для текстового файла, а не для двоичного файла