2014-02-02 9 views
-1

Получаю сообщение, в котором используется папка.в C#, Есть ли способ принудительно удалить пустую папку?

Он не используется каким-либо другим способом (например IExplorer и т.д.), это происходит и после перезагрузки (который освободит все дескрипторы этой папки)

Что является лучшим способом для достижения этой цели?

+0

Папка блокируется, когда она становится рабочим каталогом по умолчанию процесса. Обычно вам не нужно слишком заглядывать, чтобы найти этот процесс. Обычно это окно Explorer, которое вы открыли для просмотра содержимого каталога. Закрой его. Или рабочий каталог вашей собственной программы. Остановите его или назначьте Environment.CurrentDirectory другому. –

+1

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

ответ

3

Получаю сообщение, когда используется папка.

Это означает, что кто-то держит замок в этой папке.

В моем случае это не используется какой-либо другой процесс

сообщение ясно заявляет об обратном.

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

Нет. Если папка используется, ее нельзя удалить.

Каков наилучший способ достичь этого?

Используйте Process Explorer, чтобы узнать, кто держит дескриптор этой папки. Закрой его.

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

+2

Нет никакого процесса, использующего его. Ваш ответ не очень профессиональный. – Joezer

+0

У вас, похоже, есть несколько предположений, которые являются ложными. Как вы определили, что никакой дескриптор этой папки или подпапки с файлом нигде ниже нее не существует? – usr

+0

Чтобы уточнить: Если дескриптор не существует, вы можете удалить папку. Вместе с тем, что сообщение указывает, что дескриптор существует, диагноз довольно ясен: дескриптор существует. Вы еще этого не нашли. Я законно ставил под сомнение ваше предположение, что никакой дескриптор не существует, и вы еще не представили никаких доказательств того, что это так. – usr

Смежные вопросы