如果參數名為"Save",則刪除所有名為"Save"的子目錄及其內容(假設這些子目錄不包含其他子目錄)。
如果參數名不是"Save",則僅刪除所有"Save"子目錄中的指定參數名.lua 和 參數名.lua.bak 文件。
以下是函數的實現:
e
.版本 2
.程序集 程序集1
.子程序 遍歷並刪除文件夾或文件, 公開, 參數 文件夾名稱 文本型
.局部變量 當前路徑, 文本型
.局部變量 查找結果, 邏輯型
.局部變量 文件屬性, 整數型
.局部變量 完整路徑, 文本型
.局部變量 文件名, 文本型
.局部變量 文件擴展名, 文本型
.局部變量 匹配文件名, 邏輯型
' 獲取當前運行目錄
當前路徑 = 取當前目錄()
' 遍歷目錄
查找結果 = 遍歷目錄(當前路徑, "", 0)
' 遍歷目錄項
當 查找結果 = 真 時
重復
' 獲取當前遍歷到的文件或文件夾的完整路徑
完整路徑 = 取當前目錄() + “\” + 取遍歷目錄項()
' 獲取文件或文件夾的屬性
文件屬性 = 取文件屬性(完整路徑)
' 如果是目錄
如果 (文件屬性 與 目錄屬性) = 目錄屬性 則
' 如果是"Save"目錄或者其他包含"Save"的目錄
如果 (取目錄名(完整路徑) = “Save” 或者 取目錄名(完整路徑) 包含 “Save”) 則
' 如果是"Save"目錄且參數名為"Save",則刪除整個目錄及其內容
如果 文件夾名稱 = “Save” 則
如果 刪除目錄(完整路徑) = 假 則
輸出(取文本時間() + “ 刪除目錄失敗: ” + 完整路徑)
否則
輸出(取文本時間() + “ 刪除目錄成功: ” + 完整路徑)
結束如果
' 如果不是"Save"目錄,則只刪除指定文件
否則
文件名 = 文件夾名稱 + “.lua”
文件擴展名 = 文件名 + “.bak”
匹配文件名 = 取文件名(完整路徑) = 文件名 或者 取文件名(完整路徑) = 文件擴展名
' 刪除匹配的文件
如果 匹配文件名 且 (文件屬性 與 文件屬性) = 文件屬性 則
如果 刪除文件(完整路徑) = 假 則
輸出(取文本時間() + “ 刪除文件失敗: ” + 完整路徑)
否則
輸出(取文本時間() + “ 刪除文件成功: ” + 完整路徑)
結束如果
結束如果
結束如果
結束如果
' 如果是文件,但不是目錄
否則如果 (文件屬性 與 文件屬性) = 文件屬性 則
' 這裏不需要對文件進行任何操作,因為已經在目錄處理中考慮了
結束如果
' 繼續遍歷下壹個目錄項
查找結果 = 遍歷目錄(0, "", 0)
直到非 查找結果
結束當
結束子程序
使用說明:
將上述代碼粘貼到易語言的IDE中。
調用遍歷並刪除文件夾或文件函數,並傳入您希望匹配的文件夾或文件名作為參數。
運行程序,函數將按照上述邏輯遍歷當前目錄及其子目錄,並執行相應的刪除操作。
註意事項:
在執行刪除操作前,請確保已備份重要文件,避免數據丟失。
在實際部署前,建議對代碼進行充分測試,以確保其按預期工作。
易語言的文件操作可能受到操作系統權限的影響,確保您的程序有足夠的權限來執行刪除操作。
如果要刪除的文件或文件夾被其他程序占用,刪除操作可能會失敗。
取目錄名 函數用於獲取路徑中的目錄名稱部分,確保您的易語言版本支持該函數或尋找替代方法。
此函數假設目錄結構中沒有循環引用,即壹個目錄不會直接或間接地包含自己作為子目錄。如果存在這種情況,遍歷操作可能會陷入無限循環。