You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C# WinForm下批量给PNG文件添加递增#序号重命名问题

现有代码问题说明
  • 类型使用错误:你声明了string[] newFileName字符串数组,后续直接赋值为字符串pngFiles[i],类型不匹配是触发运行报错的核心原因
  • 文件名拼接逻辑错误:newFileName[1]是取字符串的第二个字符,并非你需要的完整原文件名,直接加1的逻辑也不符合#序号的拼接要求
  • 缺少边界判断:未处理用户取消选择文件夹、路径下无PNG文件的边界场景
  • 无异常处理:5万文件量级下单个文件被占用就会导致整个程序中断,也没有重名覆盖的防护逻辑
正确实现代码

直接替换你原有按钮点击事件内的逻辑即可,适配WinForm + VS2019环境:

using System.IO;
using System.Windows.Forms;

private void button1_Click(object sender, EventArgs e)
{
    using (FolderBrowserDialog folderDlg = new FolderBrowserDialog())
    {
        if (folderDlg.ShowDialog() != DialogResult.OK)
        {
            return;
        }

        // 如需遍历所有子文件夹(含1-file、2-file等子目录),将第三个参数改为 SearchOption.AllDirectories
        string[] pngFiles = Directory.GetFiles(folderDlg.SelectedPath, "*.png", SearchOption.TopDirectoryOnly);
        if (pngFiles.Length == 0)
        {
            MessageBox.Show("当前路径下未找到PNG文件");
            return;
        }

        int successCnt = 0;
        int failCnt = 0;

        for (int i = 0; i < pngFiles.Length; i++)
        {
            try
            {
                string dirPath = Path.GetDirectoryName(pngFiles[i]);
                string pureFileName = Path.GetFileNameWithoutExtension(pngFiles[i]);
                string ext = Path.GetExtension(pngFiles[i]);

                string newFullName = Path.Combine(dirPath, $"{pureFileName}#{i + 1}{ext}");
                if (File.Exists(newFullName))
                {
                    failCnt++;
                    continue;
                }

                File.Move(pngFiles[i], newFullName);
                successCnt++;
            }
            catch (IOException)
            {
                failCnt++;
            }
        }

        MessageBox.Show($"执行完成,成功重命名{successCnt}个文件,失败{failCnt}个");
    }
}
注意事项
  • 序号默认从1开始递增,完全匹配你要求的#1、#2、#3格式
  • 首次使用建议先复制少量测试文件验证逻辑,避免批量操作出错无法回滚
  • 如需处理选中路径下所有子文件夹内的PNG,按照代码注释修改SearchOption参数即可

内容的提问来源于stack exchange,提问作者mallu Crypto Nerd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 03:09:03