可能重複:
DirectoryInfo.Delete vs Directory.Delete刪除包含的文件夾不是文件夾它自己?
我做了這個代碼清空一些文件,我經常刪除,如溫度和MSN在Windows cahes文件。
代碼1
我可以添加新的路徑來申請DeleteContains方法簡單的方法我只是路徑添加到列表中
碼2
不會讓我儘可能多的路徑添加我希望我必須爲每個路徑和一個新的循環創建新的字符串數組
無論如何要使用code1刪除包含文件夾而不是文件夾及其包含?
任何在code1的foreach中工作的代碼2?
因爲有些文件夾可以刪除或刪除它們會引起問題的一些應用程序和應用程序不會再次它的工作就像
「C:\用戶\用戶名\應用程序數據\本地的\ Temp」
而其他文件夾中即可,沒有問題刪除它像MSN兌現
「C:\用戶\用戶名\應用程序數據\本地\微軟\的Windows Live \聯繫人」
代碼1
private void Clear_Click(object sender, EventArgs e)
{
List<DirectoryInfo> FolderToClear = new List<DirectoryInfo>();
// here is a list of files I want to delete
FolderToClear.Add(new DirectoryInfo("path1"));
FolderToClear.Add(new DirectoryInfo("path2"));
FolderToClear.Add(new DirectoryInfo("path3"));
FolderToClear.Add(new DirectoryInfo("path4"));
foreach (DirectoryInfo directory in FolderToClear)
{
directory.Delete(true);
}
}
碼2
private void DeleteContents(string Path)
{
string[] DirectoryList = Directory.GetDirectories(Path1);
string[] FileList = Directory.GetFiles(Path1);
foreach (string xin FileList)
{
File.Delete(x);
}
foreach (string x in DirectoryList)
{
Directory.Delete(x, true);
}
}
而鑑於這是我們講的,每包中調用一個try/catch刪除TEMP。 – leppie