C#如何在生成文件夹或者文件时候自动重命名

时间:2021-07-29 12:26:57

如果你在一个文件夹里面, 连续添加文件夹或者文件(不改名字), 那么系统会自动加上(1),(2),(3)...

这个效果我在网上搜不到, 自己写一下也不太难.

文件夹的:(不断点击按钮就有效果)

private void btnAdd_Click(object sender, EventArgs e)
        {
            string dir = @"d:\KuGouCache\abc";
            string newdir = dir;
            int i = 0;
            while (Directory.Exists(newdir))
            {
                newdir = dir + "(" + i + ")";
                i++;
            }
            Directory.CreateDirectory(newdir);
        }

文件:

private void btnAdd_Click(object sender, EventArgs e)
        {
            string name = @"d:\KuGouCache\abc.txt";
            int pos = name.LastIndexOf('.');
            name = name.Insert(pos, "({0})");

            int i = 0;
            var newName = string.Format(name, i);
            while (File.Exists(newName))
            {
                newName = string.Format(name, i);
                i++;
            }
            File.Create(newName);
        }