首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

C# 刪除資料夾但保留指定檔案

     編輯:程式設計綜合問答

需求場景

需刪除資料夾 d://test 內所有內容,但保留 system.ini 檔案。直接呼叫 DirectoryInfo.Delete(true) 會連帶刪除該檔案,需自訂刪除邏輯。

解決方案

遞迴遍歷資料夾與檔案,僅刪除不符合保留條件的項目:

DirectoryInfo info = new DirectoryInfo(path);
// 刪除所有子資料夾
foreach (DirectoryInfo d in info.GetDirectories())
    d.Delete(true);

// 刪除檔案,排除 system.ini
foreach (FileInfo f in info.GetFiles())
    if (f.Name != "system.ini")
        f.Delete();

注意事項

  • 若資料夾結構較深,遞迴刪除子資料夾時需確保權限足夠。
  • 可將排除檔案名單封裝為 HashSet<string> 以便擴充多檔案保留。
  • 刪除前建議先檢查檔案是否被佔用,避免拋出例外。

此做法靈活且易維護,適合需精細控制刪除範圍的場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved