易語言,檔案複製?使用者988404868992020-03-05 16:34:11

。版本 2。子程式 _複製按鈕_被單擊移動目錄 (“F:\test”, “D:\test”)。子程式 移動目錄, , 公開。引數 源目錄, 文字型, , 被複制或移動的目錄。引數 終目錄, 文字型, , 移動或複製到的目錄。引數 是否覆蓋, 邏輯型, 可空, 為空預設為真,強行覆蓋,為假則不覆蓋。引數 刪除源目錄, 邏輯型, 可空, 為空預設為真,刪除源目錄,為假則不刪除。區域性變數 i, 整數型。區域性變數 目錄列表定位, 整數型。區域性變數 當前路徑, 文字型。區域性變數 目錄名稱, 文字型。區域性變數 檔名稱, 文字型。區域性變數 目錄列表, 文字型, , “0”。區域性變數 檔案列表, 文字型, , “0”。區域性變數 複製到的檔案, 文字型。區域性變數 複製到的子目錄, 文字型。區域性變數 臨時, 文字型, , “0”。區域性變數 x, 整數型。區域性變數 臨時文字, 文字型。如果真 (是否為空 (是否覆蓋) = 真) 是否覆蓋 = 真。如果真結束。如果真 (是否為空 (刪除源目錄) = 真) 刪除源目錄 = 真。如果真結束。如果真 (取文字右邊 (源目錄, 1) ≠ “\”) 源目錄 = 源目錄 + “\”。如果真結束。如果真 (取文字右邊 (終目錄, 1) ≠ “\”) 終目錄 = 終目錄 + “\”。如果真結束加入成員 (目錄列表, 源目錄)建立目錄 (終目錄)目錄列表定位 = 1。判斷迴圈首 (目錄列表定位 ≤ 取陣列成員數 (目錄列表)) 當前路徑 = 目錄列表 [目錄列表定位] 。如果真 (取文字右邊 (當前路徑, 1) ≠ “\”) 當前路徑 = 當前路徑 + “\” 。如果真結束 目錄名稱 = 尋找檔案 (當前路徑 + “*。*”, #子目錄) 。判斷迴圈首 (目錄名稱 ≠ “”) 。如果真 (目錄名稱 ≠ “。” 且 目錄名稱 ≠ “。。”) 加入成員 (目錄列表, 當前路徑 + 目錄名稱 + “\”) 。如果真結束 目錄名稱 = 尋找檔案 (, #子目錄) 。判斷迴圈尾 () 目錄列表定位 = 目錄列表定位 + 1。判斷迴圈尾 ()。變數迴圈首 (1, 取陣列成員數 (目錄列表), 1, i) 當前路徑 = 目錄列表 [i] 檔名稱 = 尋找檔案 (當前路徑 + “*。*”, ) 。判斷迴圈首 (檔名稱 ≠ “”) 加入成員 (檔案列表, 當前路徑 + 檔名稱) 檔名稱 = 尋找檔案 (, ) 。判斷迴圈尾 ()。變數迴圈尾 ()。計次迴圈首 (取陣列成員數 (檔案列表), i) 複製到的檔案 = 取文字右邊 (檔案列表 [i], 取文字長度 (檔案列表 [i]) - 取文字長度 (源目錄)) 複製到的子目錄 = 取文字左邊 (複製到的檔案, 倒找文字 (複製到的檔案, “\”, 取文字長度 (複製到的檔案), 假) - 1) 臨時 = 分割文字 (複製到的子目錄, “\”, ) 臨時文字 = “” 。計次迴圈首 (取陣列成員數 (臨時), x) 臨時文字 = 臨時文字 + “\” + 臨時 [x] 建立目錄 (終目錄 + 臨時文字) 。計次迴圈尾 () 。判斷開始 (檔案是否存在 (終目錄 + 複製到的檔案) = 真) 。如果真 (是否覆蓋 = 真) 複製檔案 (檔案列表 [i], 終目錄 + 複製到的檔案) 。如果真結束 。預設 複製檔案 (檔案列表 [i], 終目錄 + 複製到的檔案) 。判斷結束。計次迴圈尾 ()。如果真 (刪除源目錄 = 真) 刪除目錄 (源目錄)。如果真結束