C#重命名文件夹中的所有文件

C#重命名文件夹中的所有文件,c#,file,rename,C#,File,Rename,我有一个小代码,可以重命名文件夹中的所有文件(图片),如下所示: static void Main(string[] args) { try { DirectoryInfo d = new DirectoryInfo(@"C:\Users\filip_000\Pictures\Prag"); int i = 1; foreach (var file in d.GetFiles())

我有一个小代码,可以重命名文件夹中的所有文件(图片),如下所示:

static void Main(string[] args)
    {
        try
        {
            DirectoryInfo d = new DirectoryInfo(@"C:\Users\filip_000\Pictures\Prag");
            int i = 1;

            foreach (var file in d.GetFiles())
            {
                Directory.Move(file.FullName, @"C:\Users\filip_000\Pictures\Prag\" + "Prag_" + i.ToString() + ".jpg");
                i++;
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
    }
它工作正常,但我想根据文件的日期/时间重命名图片(Prag_1、Prag_2、Prag_3…)。我的意思是:我在2016年3月25日16:04拍摄的第一张照片应该是“布拉格1”,而我在2016年3月27日19:19拍摄的最后一张照片应该是“布拉格n”

我希望我能解释我的问题。谢谢你的帮助


Filippo.

订购文件,然后移动

 foreach (var file in  d.GetFiles().OrderBy(f => f.LastWriteTime))
 {
     Directory.Move(file.FullName, @"C:\Users\filip_000\Pictures\Prag\" + "Prag_" + i.ToString() + ".jpg");
     i++;
 }

订购
文件,然后移动

 foreach (var file in  d.GetFiles().OrderBy(f => f.LastWriteTime))
 {
     Directory.Move(file.FullName, @"C:\Users\filip_000\Pictures\Prag\" + "Prag_" + i.ToString() + ".jpg");
     i++;
 }

OrderBy
CreationTime
属性是一个不错的选择:

foreach (var file in d.GetFiles().OrderBy(f => f.CreationTime))
{
    Directory.Move(file.FullName, @"E:\MP3 #1\Prag\" + "Prag_" + i.ToString() + ".jpg");
    i++;
}

OrderBy
CreationTime
属性是一个不错的选择:

foreach (var file in d.GetFiles().OrderBy(f => f.CreationTime))
{
    Directory.Move(file.FullName, @"E:\MP3 #1\Prag\" + "Prag_" + i.ToString() + ".jpg");
    i++;
}

好吧,那你对哪一点有意见?按创建时间排序?您好,是的,我应该按创建时间排序文件,并使用不同的文件夹来放置重命名的文件。好的,那么您对其中哪一点有问题?按创建时间排序?您好,是的,我应该按创建时间排序文件,并使用不同的文件夹放置重命名的文件。谢谢您的回答。使用LINQ是正确的方法。我只能将重命名的文件放在另一个文件夹中。谢谢您的回答。使用LINQ是正确的方法。我只能将重命名的文件放在另一个文件夹中。谢谢您的回答。使用LINQ是正确的方法。我只能将重命名的文件放在另一个文件夹中。谢谢您的回答。使用LINQ是正确的方法。我只能将重命名的文件放在另一个文件夹中。