文件夾的複製和刪除

 利用遞歸實現文件的複製和刪除

複製首先尋找該文件下的第一個文件,若爲文件夾,則創建該文件夾到目標地址, CreateDirectory(szAimDir+fd.cFileName,NULL); //在目標文件夾中創建相應的子文件夾,然後遞歸該函數,直到找到文件,進行復制,FileCopyTo(szExistDir,szAimDir,fd.cFileName);然後再FindNextFile(hFind,&fd),注意這個函數的返回值是0和1,而if(hFind!=INVALID_HANDLE_VALUE)這個條件是判斷hFind是不是-1,所以要注意不能用while(hFind!=INVALID_HANDLE_VALUE),然後FindNextFile(hFind,&fd)進行循環,因爲會永遠循環,成爲死循環。

刪除是判斷第一個文件是不是文件夾,如果是,則遞歸這個函數,直到爲文件,然後刪除,::DeleteFile(temppath);接着退出這個循環,執行遞歸到文件夾位置,關閉FindClose(hFind); Sleep(50);注意一定要Sleep,不然循環未能執行完就掛了,這時if(RemoveDirectory(DelStr))刪除空的文件夾。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章