很呆的小练习,但就练习噜,多练习多熟悉.
有一个需求,想把档案字眼换掉,但档案很多,懒得一个一个手动改.
而且学程式的,知道可以写程式批次改,如果手动改,好像也很呆.
先拆解功能
1.档名rename
2.读取资料夹中的档案名称
rename
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 ); } ```