這個真的是迷思啊~
從線上說明尋找
會陷入要用 FOR 迴圈先在目錄下找一遍檔案
再用一次 FOR 迴圈找所有的子目錄
在子目錄中再用 FOR 迴圈找檔案
就會變成了
for 檔案
for 子目錄
for 檔案
可是
這樣顯得檔案搜尋部分重複動作了
後來發現到
原來在參數地方有提供找檔案時,可一並搜尋子目錄啊~
GetFiles(String, String, EnumerationOptions)
重點就在第三個參數-EnumerationOptions
有幾個選項
IO.SearchOption.AllDirectories -> 搜尋所有子目錄
IO.SearchOption.TopDirectoryOnly -> 不搜尋子目錄
所以只要這樣寫
For Each strMbsaXml In strSource.GetFiles("*.xml", IO.SearchOption.AllDirectories)
(要執行的動作)
Next
就可以搜尋目錄(含子目錄)底下,所有的 XML 檔案了~
真的是找好久啊~
但是發現這樣挺好用的
因為迴圈只要一個就好,程式碼也清楚多了