C# 代码重命名文件夹中现有文件的今天日期的文件名

C# code to rename File names with todays date from existing files in folder

我需要帮助在 c# 中重命名文件。

我在一个文件夹中有 10 个文件。我的要求是我在所有 10.

中添加了日期部分 (MMddyyyyhhmmss)

例如:

   1_gender_vadra_ram_R4.txt

   2_gender_vadra_syam_R4.txt

现在输出将是

   1_gender_vadra_ram_R4_MMddyyyyhhmmss.txt
   2_gender_vadra_syam_R4_MMddyyyyhhmmss.txt

我试过下面的代码,但未能获得上面的文件名。

varArchiveDataFolder 是变量,其值将来自 ssis。

varArchiveDataFolder ="D:\Ram\
DirectoryInfo d = new DirectoryInfo(Dts.Variables["varArchiveDataFolder"].Value.ToString());
        FileInfo[] infos = d.GetFiles();

foreach(FileInfo f in infos)
{
    string CurrDate = System.DateTime.Now.ToString("MM/dd/yyyy HH:mm");
    CurrDate = CurrDate.Substring(0, 2) + CurrDate.Substring(3, 2) + CurrDate.Substring(6, 4) + CurrDate.Substring(11, 2) + CurrDate.Substring(14, 2);    
    File.Move(f.FullName, f.FullName.ToString().Replace("R4","R4_"+ "Currdate"));
}

我的实际要求是,如果文件超过今天的 30 天,我需要从存档目录中删除文件。

使用 DateTime.Now 而不是附加字符串 Currdate.

File.Move(f.FullName, f.FullName.ToString().Replace("R4","R4_"+ DateTime.Now.ToString("MMddyyyyhhmmss")));

如果 objective 只是为了删除大于某个日期的文件,为什么不试试这个。下面的代码实际上检查了上次访问时间,但您可以根据需要使用其他时间,例如创建或修改时间。

Delete files older than 3 months old in a directory using .NET