很呆的小練習,但就練習嚕,多練習多熟悉.
有一個需求,想把檔案字眼換掉,但檔案很多,懶得一個一個手動改.
而且學程式的,知道可以寫程式批次改,如果手動改,好像也很呆.
先拆解功能
1.檔名rename
2.讀取資料夾中的檔案名稱
1.rename怎麼做,網路上找到這個方法,居然是Move,跟我們的rename概念不太一樣.XDDDSystem.IO.File.Move(@"d:\test.docx", @"d:\test_rename.docx");
看一下d:\test.docx有沒有變成test_rename
有啊!!成功了!!!!
2.找檔案怎麼做?網路上找到這個方法,先做一個資料夾(A),裡面有一個子資料夾和2個檔案,子資料夾裡有3個檔案.
然後把這個A放進去找找看,是否所有檔案都有找出來
public void DirSearch(string sDir)
{
try
{
foreach (string d in System.IO.Directory.GetDirectories(sDir))
{
foreach (string f in System.IO.Directory.GetFiles(d))
{
txMSG.Text += f + Environment.NewLine;
}
DirSearch(d);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
拉一個txPath ,方便輸入路徑
拉一個BtnExec
拉一個txMsg ,方便顯示log
輸入路徑,按下BtxExec,everything all done.
private void BtnExec_Click(object sender, EventArgs e)
{
DirSearch(txPathText.Text);
MessageBox.Show("OK");
}
public void DirSearch(string sDir)
{
try
{
foreach (string d in System.IO.Directory.GetDirectories(sDir))
{
foreach (string f in System.IO.Directory.GetFiles(d))
{
if (f.Contains("小叮噹"))
{
string n = f.Replace("小叮噹", "多拉A夢");
rename(f, n);
txMSG.Text += f + Environment.NewLine;
}
}
DirSearch(d);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void rename(string src, string dest)
{
System.IO.File.Move(src,dest );
}
```