1. 程式人生 > >易語言基礎——遍歷指定目錄下的所有檔案(包含子目錄中的檔案)

易語言基礎——遍歷指定目錄下的所有檔案(包含子目錄中的檔案)

1.實現效果:
尋找指定目錄下的檔案(包括子目錄中的檔案)

2.知識點:
尋找到的檔名 = 尋找檔案 (檔案目錄 + “\*.*”,1 + 2 + 4 + 16 + 32 ), *.*為正則表示式的寫法,*是萬用字元;
尋找到的檔名 = 尋找檔案 (, 1 + 2 + 4 + 16 + 32),第一個引數為空代表表示在之前指定過的目錄下繼續尋找檔案;
根據返回的檔名是否為空迴圈尋找所有檔案;
遞迴演算法;
3.原始碼:

.版本 2
.支援庫 spec

.程式集 視窗程式集_啟動視窗

.子程式 _按鈕1_被單擊

子程式_查詢所有檔案 (編輯框_檔案目錄.內容)


.子程式 子程式_查詢所有檔案
.引數 檔案目錄, 文字型
.區域性變數 檔名, 文字型

.如果真 (取文字右邊 (檔案目錄, 1) ≠ “\”)
    檔案目錄 = 檔案目錄 + “\”
.如果真結束

檔名 = 尋找檔案 (檔案目錄 + “*.*”, 1 + 2 + 4 + 16 + 32)

.判斷迴圈首 (檔名 ≠ “”)

    ' 過濾掉這兩個無關結果
    .如果真 (檔名 = “.” 或 檔名 = “..”)
        檔名 = 尋找檔案 (, 1 + 2 + 4 + 16 + 32)
        到迴圈尾 ()
    .如果真結束

    ' 遍歷子目錄下面的檔案
    .如果真 (取檔案屬性 (檔案目錄 + 檔名) = #子目錄)
        子程式_查詢所有檔案 (檔案目錄 + 檔名)
        除錯輸出 (檔案目錄 + 檔名)
        檔名 = 尋找檔案 (, 1 + 2 + 4 + 16 + 32)
        到迴圈尾 ()
    .如果真結束

    列表框1.加入專案 (檔名, )
    檔名 = 尋找檔案 (, 1 + 2 + 4 + 16 + 32)
.判斷迴圈尾 ()