FileInfo currentFile = new FileInfo("c:\\Blue_ 327 132.pdf");
string fileNameFromDB = "c:\\Blue 327 _132.pdf";
string newFileName = fileNameFromDB + currentFile.Extension;
currentFile.MoveTo(newFileName);


我需要使用新的filenamefromDB重命名它

C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\Orange_  325_  131.pdf


由于我使用的是system.io.path,但文件位于C; \ Uploads \。下。

如果我要循环多个文件并且目录路径每次都不同怎么办?

最佳答案

重命名单个文件

FileInfo currentFile = new FileInfo("c:\\Blue_ 327 132.pdf");
currentFile.MoveTo(currentFile.Directory.FullName + "\\" + newName);


其中,newName是没有路径的新名称。例如,“ new.pdf”

如果您需要保留旧文件扩展名

FileInfo currentFile = new FileInfo("c:\\Blue_ 327 132.pdf");
currentFile.MoveTo(currentFile.Directory.FullName + "\\" + newName + currentFile.Extension);


重命名多个文件

DirectoryInfo d = new DirectoryInfo("c:\\temp\\");
FileInfo[] infos = d.GetFiles();
foreach(FileInfo f in infos)
{
    File.Move(f.FullName, f.FullName.ToString().Replace("abc_","");
}

10-06 11:24