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); } }