C# 将指定文件夹下的文件复制到另一个文件夹,并重新命名为原文件名加日期
时间: 2024-10-14 09:02:17 浏览: 43
C#编程实现获取文件夹中所有文件的文件名
在C#中,你可以使用`System.IO`命名空间提供的`DirectoryInfo`、`FileInfo`和`File.Copy`方法来实现这个功能。首先,你需要获取源文件夹和目标文件夹的信息,然后遍历源文件夹中的每个文件,对每个文件执行复制并添加日期后缀的操作。以下是一个简单的示例代码:
```csharp
using System;
using System.IO;
class Program
{
static void Main()
{
// 源文件夹路径
string sourceFolder = "C:\\source_folder";
// 目标文件夹路径
string destinationFolder = "C:\\destination_folder";
// 获取当前日期时间格式化字符串
string dateTimeFormat = "yyyyMMdd_HHmmss";
// 创建DirectoryInfo对象用于操作目录
DirectoryInfo source DirectoryInfo = new DirectoryInfo(sourceFolder);
// 遍历源文件夹中的所有文件
foreach (FileInfo fileInfo in source.GetFiles())
{
// 新的文件名称,包含原始文件名和日期
string newName = fileInfo.Name + "_" + DateTime.Now.ToString(dateTimeFormat);
// 完整的目标文件路径
string targetPath = Path.Combine(destinationFolder, newName);
try
{
// 使用File.Copy方法复制文件并重命名
fileInfo.CopyTo(targetPath, true); // 第二个参数表示是否保留属性
Console.WriteLine($"Copied file {fileInfo.FullName} to {targetPath}");
}
catch (Exception ex)
{
Console.WriteLine($"Failed to copy file {fileInfo.FullName}: {ex.Message}");
}
}
Console.ReadLine();
}
}
```
在这个示例中,程序会将`sourceFolder`目录下所有的文件复制到`destinationFolder`,并在新名字中附加当前日期和时间。
阅读全文