C # supprimer un dossier et tous les fichiers et dossiers dans ce dossier

J’essaie de supprimer un dossier et tous les fichiers et dossiers dans ce dossier, j’utilise le code ci-dessous et j’obtiens l’erreur Le Folder is not empty , des suggestions sur ce que je peux faire?

 try { var dir = new DirectoryInfo(@FolderPath); dir.Atsortingbutes = dir.Atsortingbutes & ~FileAtsortingbutes.ReadOnly; dir.Delete(); dataGridView1.Rows.RemoveAt(dataGridView1.SelectedRows[i].Index); } catch (IOException ex) { MessageBox.Show(ex.Message); } 

 dir.Delete(true); // true => recursive delete 

Lire le manuel:

Directory.Delete, méthode (Ssortingng, Boolean)

 Directory.Delete(folderPath, true); 

Essayer:

 System.IO.Directory.Delete(path,true) 

Cela supprime de manière récursive tous les fichiers et dossiers situés sous “chemin” en supposant que vous en ayez les droits.

Euh, qu’en est-il d’appeler Directory.Delete(path, true); ?

La méthode Directory.Delete a un paramètre booléen récursif, il devrait faire ce dont vous avez besoin

Tu devrais utiliser:

 dir.Delete(true); 

pour effacer récursivement le contenu de ce dossier aussi. Voir les surcharges MSDN DirectoryInfo.Delete () .

Essaye ça.

 namespace EraseJunkFiles { class Program { static void Main(ssortingng[] args) { DirectoryInfo yourRootDir = new DirectoryInfo(@"C:\somedirectory\"); foreach (DirectoryInfo dir in yourRootDir.GetDirectories()) DeleteDirectory(dir.FullName, true); } public static void DeleteDirectory(ssortingng directoryName, bool checkDirectiryExist) { if (Directory.Exists(directoryName)) Directory.Delete(directoryName, true); else if (checkDirectiryExist) throw new SystemException("Directory you want to delete is not exist"); } } } 
 public void Empty(System.IO.DirectoryInfo directory) { try { logger.DebugFormat("Empty directory {0}", directory.FullName); foreach (System.IO.FileInfo file in directory.GetFiles()) file.Delete(); foreach (System.IO.DirectoryInfo subDirectory in directory.GetDirectories()) subDirectory.Delete(true); } catch (Exception ex) { ex.Data.Add("directory", Convert.ToSsortingng(directory.FullName, CultureInfo.InvariantCulture)); throw new Exception(ssortingng.Format(CultureInfo.InvariantCulture,"Method:{0}", ex.TargetSite), ex); } }