将图片复制到文件夹,然后按顺序从1开始重命名副本

时间:2018-10-03 21:02:13

标签: c# image numbers copy

这是我要做的:每次单击该按钮时,都会打开一个打开文件对话框,用户单击图片,然后将该图片复制到特定文件夹并重命名为数字。此文件夹中每张图片的名称都应该是数字,但是它们都必须不同。到目前为止,我的代码:

index.html

当然,这里将第一张图片复制并重命名为“ 0.png”,但由于“ if”为真,因此根本不会复制下一张图片。有任何想法吗 ?谢谢。

2 个答案:

答案 0 :(得分:1)

您可以这样做:

...
int i = 0;
while (System.IO.File.Exists(picturedir + "\\" + i.ToString() + ".png") == true)
{
    i++;
    // I wouldn't show that message each time, gonna get pretty old for lots of pics!
}
System.IO.File.Copy(openfile.FileName, picturedir + "\\" + i.ToString() + ".png", true);
...

答案 1 :(得分:1)

如果需要下一个数字,则可以枚举现有文件,找到当前正在使用的最大数字,然后添加1。类似:

    var files = Directory.EnumerateFiles(myCurrentDirectory, "*.png");
    var fileNumStrings = from file in files select Path.GetFileNameWithoutExtension(file);
    var max = 0;
    foreach (var fileNumString in fileNumStrings)
    {
        if (int.TryParse(fileNumString, out var filenum))
        {
            if (filenum > max)
            {
                max = filenum;
            }
        }
    }
    var nextNum = max + 1;