Каталог не удаляется для файловой системы после Directory.deleteC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Каталог не удаляется для файловой системы после Directory.delete

Сообщение Anonymous »

Мой вопрос связан с этим
Я удаляю папку с каталогом. Удалить после копирования + удаления из нее всех файлов -> Я проверяю ее корневую папку, содержит ли она любые файлы -> если нет, удалите и эту корневую папку.

Код: Выделить всё

if (!Directory.Exists(Archivepatz))
{
Directory.CreateDirectory(Archivepatz);
foreach (string files in MatrixArchiveFiles)
{
string filetocopy = files.Split('\\').Last();
File.Copy(files, Archivepatz + filetocopy);
File.Delete(files);
}
Directory.Delete(xmlLogfilePathMatrix + MatrixArchiveDay + backslash + MatrixArchiveIP + backslash + MatrixArchiveDMC + backslash, true);
DirectoryInfo dir2 = new DirectoryInfo(xmlLogfilePathMatrix + MatrixArchiveDay + backslash);
if (!dir2.EnumerateFiles("*", SearchOption.AllDirectories).Any())
{
if (Directory.Exists(xmlLogfilePathMatrix + MatrixArchiveDay + backslash))
{
Directory.Delete(xmlLogfilePathMatrix + MatrixArchiveDay + backslash, true);
}
}
}
В моей тестовой среде (на моем ноутбуке) он работает правильно, но на ПК он должен запустить программу. Возникла проблема, как в связанной статье -> Говорится, что доступ к каталог, который я только что удалил (каталог также виден в проводнике Windows, но, как и моя программа, также не может получить к нему доступ, поскольку он не существует в файловой системе).
Вот что Я до сих пор пробовал:
Добавил перерыв после Directory.Delete, чтобы проверить, какова ситуация. Здесь я обнаружил, что удаленная папка все еще видна, но недоступна в проводнике Windows.
Пытался добавить некоторое время ожидания между разделами удаления и разделами «if (!dir2.», надеясь на это. достаточно, чтобы удалить папку.
Попробовал это решение из связанной статьи:
"
Directory.Delete(tempFolder, true);
while ( Directory.Exists(tempFolder)) Thread.Sleep(0);
"
Это привело к бесконечному циклу.
На обеих машинах установлена ​​операционная система Windows 10.
Имеете ли вы какие-либо идеи, какой компонент/настройка/политика Windows может вызвать такую ​​разницу?
Спасибо за вашу поддержку!>

Подробнее здесь: https://stackoverflow.com/questions/784 ... ory-delete
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»