冰楓論壇

 找回密碼
 立即註冊
搜索
查看: 830|回覆: 0
打印 上一主題 下一主題

[心得] [C#] 搜尋指定目錄下具特定關鍵字檔名與特定副檔名的檔案

[複製鏈接]

825

主題

0

好友

855

積分

高級贊助會員

Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20

UID
390967
帖子
1601
主題
825
精華
0
積分
855
楓幣
11117
威望
396
存款
10100
贊助金額
1800
推廣
0
GP
2687
閱讀權限
150
在線時間
189 小時
註冊時間
2023-5-18
最後登入
2024-11-24

2023年紀念勳章 太陽勳章 神手勳章 高級客戶 VIP會員 私服達人 懶人勳章 幼兒勳章 音樂勳章 屁孩勳章 貢獻王 性別(女) 性別(男) 積分勳章 發帖達人 2023端午節紀念勳章 富豪勳章 富可敵國 2023中秋節紀念勳章 解說達人 論壇粉絲 2023聖誕節紀念勳章 2024年紀念勳章 2024端午節紀念勳章 2024中秋節紀念勳章

跳轉到指定樓層
1
發表於 2023-5-31 09:07:48 |只看該作者 |倒序瀏覽
這個例子會用到遞迴傳遞跟使用正則表達式來篩選關鍵字

例子開始前別忘先引入命名空間
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Text.RegularExpressions;
複製代碼
此例子可以省略引入的是
System → 使用 try...cathc... 中使用 Exception 才會用到
System.Collections.Generic → 使用 List 來返回查詢結果,若使用 ObservableCollection 有同樣功能也不用引入此命名空間

Keyword給字串"*"就可搜尋指定副檔名的全部檔案
Extension給字串"*"就可以搜尋指定關鍵字的全部檔案
以上兩者都給"*"就是搜尋該目錄下全部檔案
  1. public static List<string> FindFile(string DirPath, string Keyword, string Extension)
  2. {
  3.     List<string> FoundList = new List<string>();

  4.     DirectoryInfo Dir = new DirectoryInfo(DirPath);
  5.     try
  6.     {
  7.         // 遞迴檢查子目錄
  8.         foreach (DirectoryInfo d in Dir.GetDirectories())
  9.         {
  10.             FoundList.AddRange(FindFile((Dir + d.ToString() + @"\"), Keyword, Extension));
  11.         }

  12.         foreach (FileInfo f in Dir.GetFiles("*." + Extension))
  13.         {
  14.             Regex regex = new Regex(Keyword);
  15.             Match match = regex.Match(f.ToString());

  16.             if (match.Success)
  17.             {
  18.                 FoundList.Add(Dir + f.ToString());
  19.             }
  20.         }
  21.     }
  22.     catch (Exception ex)
  23.     {
  24.         
  25.     }

  26.     return FoundList;
  27. }
複製代碼
[發帖際遇]: whitefox 超爽der,在口袋撿到 1 楓幣 幸運榜 / 衰神榜
收藏收藏0 推0 噓0


把本文推薦給朋友或其他網站上,每次被點擊增加您在本站積分: 1彩票
複製連結並發給好友,以賺取推廣點數
簡單兩步驟,註冊、分享網址,即可獲得獎勵! 一起推廣文章換商品、賺$$
高級模式
B Color Image Link Quote Code Smilies |上傳

廣告刊登意見回饋關於我們管群招募本站規範DMCA隱私權政策

Copyright © 2011-2024 冰楓論壇, All rights reserved

免責聲明:本網站是以即時上載留言的方式運作,本站對所有留言的真實性、完整性及立場等,不負任何法律責任。

而一切留言之言論只代表留言者個人意見,並非本網站之立場,用戶不應信賴內容,並應自行判斷內容之真實性。

小黑屋|手機版|冰楓論壇

GMT+8, 2024-11-24 15:15

回頂部