Удалить очередь в NTFS? - PullRequest
1 голос
/ 25 апреля 2009

В моих приложениях (VB6 и C # 2008) в Windows 2003 дважды я видел похожее поведение при удалении папок, содержащих файлы. Мой код создаст несколько временных папок и создаст файлы в этой папке для последующей обработки. По завершении обработки мой код попытается удалить созданную временную папку. Операция удаления завершается без ошибок.

Однако, при дальнейшей проверке вы увидите, что папка все еще существует в проводнике Windows. Попытка просмотреть эту папку приводит к ошибке отказа в разрешении. Позже приложение обработает еще один раунд файлов и попытается снова создать временную папку. К сожалению, предыдущее отложенное удаление еще не завершено, поэтому попытка создать папку снова приводит к ошибке отказа в доступе. Папка действительно не удаляется, пока я не закрою свое приложение. Как только приложение закрывается, папка удаляется. Почему операции удаления моей папки не выполняются до тех пор, пока приложение не будет закрыто?

1 Ответ

0 голосов
/ 25 апреля 2009

Интересно - возможно ли, что вы случайно сохранили блокировку этого каталога? это объясняет, почему каталог не может быть удален, пока ваше приложение не покинуло.

Есть несколько инструментов - попробуйте SysInternals - которые будут перечислять блокировки файлов / каталогов. Попробуйте ваше приложение и посмотрите, сохраняет ли оно блокировку. Я думаю, что вы можете затем принудительно снять эту блокировку - посмотрите, исчезнет ли каталог немедленно.

...