文件改名的C#實現
2024-07-21 02:18:20
供稿:網友
其實很簡單了,不過這里還是說一下,希望能給和我一樣的c#新手帶來幫助
背景:本人很愛看動畫片和漫畫,近日下載了火影忍者的漫畫,結果目錄中的圖片文件命名方式是1,2,.....,10,....99,100,這樣在acdsee中觀看的順序就是1,10,100....不是按照數字的順序,看起來比較郁悶。故此就動手寫一個批量文件改名的小程序,把文件名補齊為3位,按照001,002,...,009,010,...這樣的順序。
涉及到的知識:string的函數;file和directory函數;environment和一些界面類
核心代碼如下:十分簡單
// 清空log
this.listboxlog.items.clear();
// 獲取當前路徑下全部文件名
string[] files = directory.getfiles(environment.currentdirectory);
foreach(string filename in files)
{
// 最后一個"/"
int lastpath = filename.lastindexof("//");
// 最后一個"."
int lastdot = filename.lastindexof(".");
// 純文件名字長度
int length = lastdot-lastpath-1;
// 文件目錄字符串 xx/xx/xx/
string beginpart = filename.substring(0, lastpath+1);
// 純文件名字
string namenoext = filename.substring(lastpath+1, length);
// 擴展名
string ext = filename.substring(lastdot);
if(length < 3)
{
// 補齊為3位,組成新的文件名
string namenew;
if(length == 1)
namenew = "00" + namenoext;
else
namenew = "0" + namenoext;
string fullnewname = beginpart + namenew + ext;
// 改名
file.move(filename, fullnewname);
// log
this.listboxlog.items.add(namenoext + "--->" + namenew);
this.listboxlog.selectedindex = this.listboxlog.items.count - 1;
}