C#替换包含"."的文件名.用""但删除文件扩展名

Con*_*nor 3 c# file renaming

我重命名包含"."的文件夹中的文件.用"".
预期结果......之前:"I.am.testing.txt
",之后:"我正在测试.txt " 实际结果......之前:"I.am.testing.txt",之后:"我正在测试txt "

问题是它也删除了"." 对于文件扩展名来说这显然是个问题..

string folderPath = new DirectoryInfo(textBoxDir.Text).FullName;
DirectoryInfo d = new DirectoryInfo(folderPath);
FileInfo[] filesDot = d.GetFiles("*.*");

foreach (FileInfo fi in filesDot)
{
    File.Move(fi.FullName, Path.Combine(fi.Directory.ToString(), fi.Name.Replace(".", " ")));
}
Run Code Online (Sandbox Code Playgroud)

Chr*_*ruz 6

您只能使用Path.GetFileNameWithoutExtension以获取文件的名称,然后只需将原始扩展名附加到末尾.

File.Move(fi.FullName, Path.Combine(fi.Directory.ToString(), Path.GetFileNameWithoutExtension(fi.Name).Replace(".", " ") + fi.Extension));
Run Code Online (Sandbox Code Playgroud)