C# rename多个档案名称(再见小叮当)

很呆的小练习,但就练习噜,多练习多熟悉.
有一个需求,想把档案字眼换掉,但档案很多,懒得一个一个手动改.
而且学程序的,知道可以写程序批次改,如果手动改,好像也很呆.

先拆解功能
1.档名rename
2.读取资料夹中的档案名称

rename

1.rename怎麽做,网路上找到这个方法,居然是Move,跟我们的rename概念不太一样.XDDD
System.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 );
    }
    ```

<<:  C#入门之错误处理

>>:  Swift纯Code之旅 Day1. 「前置作业」

Day21 黄金砖-金沙豆腐

这道菜也是忠实铁人菜读者Json的许愿菜色,是热炒店、铁板烧里的热门菜之一 不过在家油炸比较麻烦且费...

【第23天】部署API服务-GCP架设VM(一)

【第23天】部署API服务-GCP架设VM(一) 摘要 作业流程 启用GCP服务 建立VM ssh连...

第0砍 - 虚张声势

: 听说你ARM很厉害 你怎麽学习的? 学习? 每天伏地挺身100下就好了阿 : ??? 在进入正题...

[C 语言笔记--Day27] 6.S081 Lab syscall: Sysinfo ( II )

接续昨天写到一半的题目, 昨天还留下了 sys_sysinfo() 没有完成, 先来大致上分析一下这...

Day 28 shared_preferences本机存放区

(一)介绍 Flutter推荐使用者使用shared_prederences储存资料,可以存取少量资...