C#里面,重命名文件时,没有 rename 这个功能,使用的是FileInfo.MoveTo的方式,MoveTo 到原目录里一个新的名字,即实现了重命名
此方法用于重命名文件夹内的所有子文件夹的名称,新子文件夹的名称可以使用格式字符串,如DIR{0:0000},重命名后的子文件夹为:DIR0001、DIR0002、DIR0003等。
具体使用方式见示例代码。
/// <summary>
/// 重命名文件夹内的所有子文件夹
/// </summary>
/// <param name="directoryName">文件夹名称</param>
/// <param name="newDirectoryName">新子文件夹名称格式字符串</param>
public void RenameDirectories(string directoryName, string newDirectoryName)
{
int i = 1;
string[] sDirectories = Directory.GetDirectories(directoryName);
foreach (string sDirectory in sDirectories)
{
string sDirectoryName = Path.GetFileName(sDirectory);
string sNewDirectoryName = string.Format(newDirectoryName, i++);
string sNewDirectory = Path.Combine(directoryName, sNewDirectoryName);
Directory.Move(sDirectory, sNewDirectory);
}
}
// 列表中的原始文件全路径名
string oldStr = ft.FileRoute + @"/" + ft.FileName + ft.ExName;
// 新文件名
string newStr = ft.FileRoute + @"/" + preChar + name + nextChar + ft.ExName;
// 改名方法
FileInfo fi = new FileInfo(oldStr);
fi.MoveTo(Path.Combine(newStr));