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是正确的方法。我只能将重命名的文件放在另一个文件夹中。