拷貝檔案 資料夾 建立資料夾 刪除資料夾操作

2021-08-13 23:16:39 字數 3143 閱讀 5293

qt拷貝檔案、資料夾、建立資料夾、刪除資料夾操作

[cpp]

view plain

copy

/*** @brief 拷貝檔案到目的資料夾

* @param srcfilename 原始檔全路徑,比如  "f:/tx/wwxx.txt" ,"f:/tx/des/desd"

* @param desfilepathname 要copy到的目的路徑 比如 "f:/tx/des/desd"

* @param coverfileifexist 如果目的檔案存在,比如 "f:/tx/des/desd/wwxx.txt" 存在,是否覆蓋,true表示覆蓋

* @param bdelsrcfile 是否刪除原來的檔案,類似於剪下功能,比如是否刪除 "f:/tx/wwxx.txt"

*/bool

mainwindow::copyfiletopath(qstring srcfilename ,qstring desfilepathname, 

bool

coverfileifexist,

bool

bdelsrcfile)  

if(!qfile::exists(srcfilename))  

makedir(desfilepathname);// 校驗目的資料夾路徑是否存在,如果 不存在,建立

qfileinfo srcfinfo(srcfilename);  

qfile srcfile(srcfilename);  

qstring desfilename = desfilepathname+"/"

+srcfinfo.filename();

// 目的檔案全路徑

qfile desfinfo(desfilename);  

if(desfinfo.exists()==

true

)    

}  qfile::copy(srcfilename,desfilename);  

if(bdelsrcfile)

//! 刪除原檔案

return

true

;  }  

[cpp]

view plain

copy

/*** @brief 建立資料夾,裡面有遞迴建立操作

* @param dirname 原始檔全路徑,比如  "f:/tx/des/desd/wwxx" 如果已經存在,則什麼也不做,如果原先不存在,則建立

*/bool

mainwindow::makedir(qstring dirname)  

//qstring scurnowdirname = dirnamearray.at(0);

qdir diri(ibefalldirstr);  

if(diri.exists()==

false

)    

}  return

true

;  }  

[cpp]

view plain

copy

/*** @brief 拷貝資料夾到目的資料夾

* @param source 源資料夾全路徑,比如  "f:/tx" ,"f:/txd/des/desd"

* @param source 要copy到的目的路徑 比如 "f:/tx/des/desd"

* @param override 如果目的檔案存在,比如 "f:/txd/des/desd" 存在,是否覆蓋,true表示覆蓋

*/bool

mainwindow::copydir(

const

qstring &source, 

const

qstring &destination, 

bool

override)  

qstring srcpath = qdir::tonativeseparators(source);  

if(!srcpath.endswith(qdir::separator()))  

srcpath += qdir::separator();  

qstring dstpath = qdir::tonativeseparators(destination);  

if(!dstpath.endswith(qdir::separator()))  

dstpath += qdir::separator();  

bool

error = 

false

;  qstringlist filenames = directory.entrylist(qdir::allentries | qdir::nodotanddotdot | qdir::hidden);  

for(qstringlist::size_type i=0; i != filenames.size(); ++i)  

qfile::copy(srcfilepath, dstfilepath);  

}  else

if(fileinfo.isdir())  

}  }  return

!error;  

}  

[cpp]

view plain

copy

/*** @brief 刪除資料夾--  裡面有遞迴操作

* @param path 刪除的源資料夾全路徑,比如  "f:/tx" ,"f:/txd/des/desd"

* 如果要實現資料夾的剪下功能,可以在呼叫的地方在copydir之後,呼叫此函式

*/bool

mainwindow::deldir(

const

qstring &path)  

qdir dir(path);  

if(!dir.exists())  

dir.setfilter(qdir::allentries | qdir::nodotanddotdot); //設定過濾

qfileinfolist filelist = dir.entryinfolist(); // 獲取所有的檔案資訊

foreach (qfileinfo file, filelist)else

}  return

dir.rmpath(dir.absolutepath()); 

// 刪除資料夾

}  

C 建立資料夾,刪除資料夾,建立檔案,刪除檔案

protected void button1 click object sender,eventargs e 判斷檔案的存在 else string name getfiles.filename 獲取已上傳檔案的名字 string size getfiles.postedfile.contentle...

學習記錄 python建立資料夾刪除資料夾

import os 建立檔案模組 defcj for i in range 2 得到當前工作目錄,即當前python指令碼工作的目錄路徑os.getcwd os.getcwd print n 建立單個目錄 os.mkdir test os.mkdir aa str i print 檔案建立成功 刪除...

建立資料夾

當某資料夾不存在時,建立資料夾 import os path dir file if not os.path.exists path dir os.makedirs path dir 同時建立資料夾有兩種函式,os.mkdir和os.makedirs,兩者的區別在於前者是一級一級建立檔案目錄,後者可...