print?/// <summary>
/// 用遞歸方法刪除文件夾目錄及文件
/// </summary>
/// <param name="dir">帶文件夾名的路徑</param>
public void DeleteFolder(string dir)
{
if (Directory.Exists(dir)) //如果存在這個文件夾刪除之
{
foreach (string d in Directory.GetFileSystemEntries(dir))
{
if (File.Exists(d))
{
FileInfo fi = new FileInfo(d);
if (fi.Attributes.ToString().IndexOf("ReadOnly") != -1)
fi.Attributes = FileAttributes.Normal;
File.Delete(d); //直接刪除其中的文件
}
else
DeleteFolder(d); //遞歸刪除子文件夾
}
Directory.Delete(dir, true); //刪除已空文件夾
}
}
/// <summary>
/// 用遞歸方法刪除文件夾目錄及文件
/// </summary>
/// <param name="dir">帶文件夾名的路徑</param>
public void DeleteFolder(string dir)
{
if (Directory.Exists(dir)) //如果存在這個文件夾刪除之
{
foreach (string d in Directory.GetFileSystemEntries(dir))
{
if (File.Exists(d))
{
FileInfo fi = new FileInfo(d);
if (fi.Attributes.ToString().IndexOf("ReadOnly") != -1)
fi.Attributes = FileAttributes.Normal;
File.Delete(d); //直接刪除其中的文件
}
else
DeleteFolder(d); //遞歸刪除子文件夾
}
Directory.Delete(dir, true); //刪除已空文件夾
}
}
特別強調:Directory.Delete 方法只能刪除 空文件夾,否則 這個方法會報錯。因為這個清空某個文件夾的問題,糾結了俺 很多時間。