1

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

Структура папок выглядит следующим образом

D:\Backup

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

D:\Backup\User2\Folder1 D:\Backup\User2\Folder2

и так далее

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

2 ответа2

0

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

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

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

0

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

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

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

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

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

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

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

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