在編譯完fpga的版本後,需要把bit檔案和cdc發給其他人進行測試,由於兩個檔案和fpga工程同名,每次都要重新命名,加上今天的日期,便於版本控制。以上就是需求。於是想到要不要寫個指令碼,一鍵執行改名,最先想到的是用bat指令碼,感覺沒學過太麻煩,於是想到用c++,剛好最近在看string類相關的,於是花了點時間弄了乙個控制台程式。**如下:
#include
#include
#include
#include
#include
#include
using namespace std;
bool i***istedirectory
(string path)
return false;
}void
getfiles
(string path, vector
& files)
else
}while
(_findnext
(hfile,
&fileinfo)==0
);_findclose
(hfile);}
}bool alterfilename
(string path,string filename, string newname)
// int rename(char *oldname, char *newname);
// 更改檔名,成功返回0,否則返回-1if(
-1==rename
(filename.
c_str()
, newname.
c_str()
))return true;
}void
main()
vectorfiles;
getfiles
(m_strpath, files)
;//獲取帶字尾的檔名
//測試控制台
//string ip = "10.3.8.211";
//string p = "ping "+ip;
//system(p.c_str());
//獲取系統時間
time_t rawtime;
time
(&rawtime)
;char pblgtime[20]
;strftime
(pblgtime,20,
"%y_%m_%d"
,localtime
(&rawtime));
cout <<
"strftime "
<< pblgtime << endl;
string data_str
(pblgtime)
;for
(int i =
0; i < files.
size()
; i++
)}
簡單介紹以下這個程式的功能,這個程式獲取filesrename.exe所在的資料夾,判斷這個資料夾下是否有乙個資料夾「phl」,如果沒有則建立之,然後獲取「phl「資料夾下的所有檔名(包括字尾名),並儲存起來,然後對這些檔案進行命名,命名格式暫定為當前日期,同時保持字尾名不變。
這個程式包含了檔案路徑和檔名的獲取,系統時間的獲取,新建資料夾的操作,重新命名的操作,以及字串的相關操作。
參考內容有如下:
C 檔案重新命名
來自 c 裡面,重新命名檔案時,沒有 rename 這個功能,使用的是fileinfo.moveto的方式,moveto 到原目錄裡乙個新的名字,即實現了重新命名 此方法用於重新命名資料夾內的所有子資料夾的名稱,新子資料夾的名稱可以使用格式字串,如dir,重新命名後的子資料夾為 dir0001 di...
C 重新命名檔案
批量重新命名資料夾下的檔案 借用visualbasic中的方法 首先新增引用 microsoft.visualbasic 然後在所需使用的文件中加上using microsoft.visualbasic.devices 命名空間 主要 computer mycom new computer myco...
C 批量重新命名檔案
仙人指路 由上圖可以發現,這些音訊檔案前面都有編號,後面跟著下劃線的字母,本人有些許強迫症,只想保留編號,即001 a檔案重新命名為1,031 be檔案重新命名為31,手動重新命名機器麻煩,況且這部 的音訊檔案有247個。於是我打算用c 進行批量重新命名。先建立乙個windows窗體應用型別的專案,...