Zakładając Mam struktury folderów, takich jak:DirectoryInfo.Delete (prawda) nie usuwa Kiedy Struktura folder jest otwarty w Eksploratorze Windows
C:\MyTemp - MySubFolder
Gdy próbuję usunąć to za pomocą:
Dim path As String = "C:\MyTemp"
Dim di As System.IO.DirectoryInfo
di = System.IO.Directory.CreateDirectory(path)
di.CreateSubdirectory("MySubFolder")
di.Delete(True)
Działa to dobrze, , chyba że mam Eksploratora Windows otwarty i patrzę na katalogu "MySubFolder". Następnie otrzymuję IOException Katalog nie jest pusty. - kliknięcie przycisku OK powoduje odrzucenie tej opcji, a następnie struktura folderów nie jest usuwana.
Jakieś przemyślenia na temat tego, w jaki sposób mogę uzyskać to, aby wykonać poprawnie (tj. Usunąć), nawet podczas uruchamiania tego kodu, mając otwartą listę folderów w Eksploratorze Windows?
Należy pamiętać, że jest to standardowe zachowanie powłoki. Otrzymasz ten sam komunikat o błędzie z 'rmdir/S'. Domyślam się, że usunięcie w zasadzie nie powiedzie się, ponieważ Explorer nadal ma uchwyt do podfolderu otwartego. –
@ 0xA3 - Nie jest spójny. Zobacz mój komentarz do odpowiedzi poniżej. Są przypadki, w których mogę usunąć folder podczas przeglądania go w Eksploratorze Windows, a następnie Explorer po prostu przechodzi do folderu nadrzędnego dziecka, które zostało usunięte. –
@ToddMain Wiem, że to jest stare, ale naprawdę będę wdzięczny, jeśli umieścisz rozwiązanie tego problemu. –