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));