Как программно получить список заблокированных файлов в структуре папок?


Вслед за этим вопросом: Как разблокировать файл, заблокированный процессом в .NET, как программно получить список файлов, заблокированных в определенной папке и ее подпапках?

Я использую Windows 2003, .NET 3.5, C# 3.0.

Обновление: некоторый фон... в основном мы архивируем закрытые веб-сайты на общем сервере. После удаления сайта из IIS мы перемещаем структуру папок для сайта в архив, где он хранится в течение 6 недель. Несмотря на то, что сайт IIS и FTP были остановлены и удалены, мы все еще сталкиваемся с заблокированными файлами во время перемещения. Так что было бы неплохо заранее узнать, что все еще заперто на замок.

2 3

2 ответа:

Как ответили в другом вопросе: Как проверить блокировку файла?

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

Единственный надежный способ обнаружить заблокированные файлы в реальном времени-это написать драйвер устройства (например, filemon ), но я не думаю, что вы можете сделать это в C#.