Найти файлы по измененным, только вернуть папку root, игнорировать метки времени папки - PullRequest
0 голосов
/ 14 февраля 2020

Просто нужна помощь, чтобы указать мне правильное направление.

Имеется том с 4000+ root папками windows файловый сервер . Каждая папка может иметь очень глубокую иерархию. Цель состоит в том, чтобы вывести список папок root , которые содержат файлы, которые не были изменены в течение 3 лет, выполнить поиск по всем глубинам и игнорировать все метки времени FOLDER. И верните только папку root, где эти файлы существуют.

Может кто-нибудь направить меня в правильном направлении. get-childitem?

Игнорировать метки папок / каталогов, найти файлы, не измененные за 3 года, выполнить поиск по всей глубине каждой папки root, вернуть только папку root, в которой эти файлы существуют.

Я не знаю PowerShell, но пытаюсь учиться.

Первый проход

$archive = (Get-Date).AddDays(-1095)

Get-ChildItem -Recurse  | Where-Object {$_.LastWriteTime -lt $archive} | Select-Object FullName | Export-Csv C:\Users\test\Documents\olddata.csv

Пара вопросов - я хочу вернуться к «root папке», которая будет P: \ MAIN \ RootFolder1 ...... P : \ MAIN \ RootFolder2 ......

Таким образом, для каждого RootFolder: Поиск по всем файлам (recurse) находит LastWriteTime более поздний, чем 3 года. Он мне не нужен для поиска по всему пути, как только он найдет какой-либо файл, расположенный на любой глубине под RootFolder, более поздний, чем 3 года, - перейдите к следующему RootFolder. Если вы не нашли ничего более свежего, чем 3 года - выведите имя RootFolder.

Спасибо,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...