Список папок, которые не обновлялись за последние X дней

Список папок, которые не обновлялись за последние X дней

У меня есть сервер обмена файлами Windows Base (с более чем 100 общими папками для пользователей) для пользователей, куда пользователи ежедневно копируют свои файлы для целей резервного копирования. Некоторые пользователи забывают это делать, и через много дней или при аварийном восстановлении оказывается, что пользователь не поддерживал свою папку резервного копирования. Это создает проблемы для ИТ-отдела. Сейчас мы проверяем каждого пользователя, ежедневно просматривая его папки и сортируя по последнему изменению. Я хочу сделать это с помощью скрипта.

Структура папок следующая:

D:\Резервное копирование

D:\Backup\User1\Folder1 [содержит основные файлы резервных копий пользователя] D:\Backup\User1\Folder2 [содержит ненужные данные только для пользователя]

D:\Backup\Пользователь2\Папка1 D:\Backup\Пользователь2\Папка2

и так далее

Теперь я хочу вывести список имен папок, которые не обновлялись (не изменялись) за последние X дней. ) но сканировать следует только FOLDER1, которая содержит фактические файлы резервных копий.)

решение1

Вы можете написать скрипт, чтобы сделать процесс более интересным, но я предлагаю перейти в папку и воспользоваться встроенным поиском Windows: modified:<YYYY-MM-DD hh:mm:ss
он проверит все файлы, которые были изменены до указанной даты.

Чтобы проверить только папки, вы можете добавить: kind:folders
Чтобы проверить файлы только в указанной папке, используйте:foldername:Folder1

Вы можете настроить свой поиск, указав дополнительные значения.
Здесьвот некоторые расширенные параметры поиска, которые вы можете использовать.

решение2

Вы не указали, какую ОС вы используете. Я предполагаю, что это Windows 8.1, Windows 10 или Windows Server 2008 R2 или более поздняя версия.

Есть команда, которую вы можете использовать и которая делает именно то, что вам нужно.

Это называетсяforfiles

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

Команда будет выглядеть примерно так:

forfiles /s /m FOLDER1 /c "cmd /c forfiles /p @path /s /d -30"

Это покажет все изменения, внесенные за последние 30 дней в эти папки.

Связанный контент