我需要帮助来重命名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"));
}
我的实际要求是我需要从Archive目录中删除文件,如果文件超过今天的30天。
答案 0 :(得分:1)
使用DateTime.Now
而不是附加字符串Currdate
。
File.Move(f.FullName, f.FullName.ToString().Replace("R4","R4_"+ DateTime.Now.ToString("MMddyyyyhhmmss")));
答案 1 :(得分:1)
如果目标只是删除大于某个日期的文件,为什么不尝试这个。下面的代码实际上是检查上次访问的时间,但您可以根据需要使用其他类似创建或修改时间的代码。
Delete files older than 3 months old in a directory using .NET