Как создание таймера на удаление файла в общей папке?
В домене на windows server имеется общий ресурс, где пользователи из разных отделов с разными правами доступа могут объмениваться файлами между отделами. По регламенту все поступившие файлы в эту папку должны удаляться через 2 недели после попадания туда. Вопрос, как можно силами powershell или политиками, или ещё какими сделать так, чтобы файл попадающий в папку удалялся через 2 недели. Файлы могут читаться, изменяться и имеют разную дату создания.
В шедулер на ежедневный запуск ночью батник или скрипт на poshе, который будет удалять файлы старше 14 дней по дате модификации.
По posh не подскажу, а батник написать достаточно просто.
Команда forfiles может сделать все, что тебе нужно. Смотри справку: forfiles /?
Здравствуйте, спасибо большое за решение, по модификации нельзя, файлы пользователи могут модифицировать и изменять каждый день, а строгое правило удаления остаётся,всё равно надо удалять даже изменённые файлы.
Kostya032, Ну ок, тогда можно по дате создания файла.
Только в батниках с датами работать проблематично - сам командный язык не поддерживает никаких типов, кроме строк. Так что может быть лучше смотреть сразу в сторону posh.
Коротко расскажу, как это можно сделать на батниках:
Тут уже forfiles не помошник, т.к. он умеет только с датой модификации работать.
Команда dir умеет выводить в отсортированном по дате виде файлы, сортировку можно инвертировать.
Эта команда выведет все файлы в текущем каталоге, отсортированные по дате создания, сама дата создания так же выводится: dir /t:c /o:d /a:-d *
Дальше эту команду заворачиваете в for /f, получаете в переменных цикла дату и имя файла.
В теле цикла сравниваете дату с текущей и если прошло 14 дней с момента создания, удаляете файл.
Сравнивать дату просто так нельзя - как я уже писал батники не умеют работать с датой.
Но можно конвертировать дату в timestamp и сравнивать уже timestampы.
Процедуру конвертации даты в timestamp можно нагуглить.
На poshe все будет значительно проще, т.к. сам язык умеет работать с датами.