2017-02-25 127 views
3

我重命名包含「。」的文件夾中的文件。用「」。
預期結果...之前:「I.am.testing.txt」,之後:「我是testing.txt」
實際結果...之前:「I.am.testing.txt」,之後:「我正在測試txt「C#替換包含「。」的文件名與「」但刪除文件擴展名

問題是,它也刪除了」。「對於文件擴展名這顯然是一個問題..

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(".", " "))); 
} 

回答

6

你可以使用Path.GetFileNameWithoutExtension只獲取文件的名稱,然後只是追加原來的擴展名進行到底。

File.Move(fi.FullName, Path.Combine(fi.Directory.ToString(), Path.GetFileNameWithoutExtension(fi.Name).Replace(".", " ") + fi.Extension)); 
+0

如果你這樣做,你還需要添加+ Path.GetFileExtension(fi.Name)作爲第二個參數的一部分Path.Combine – iCode

+0

如果你看看我的編輯從幾分鐘前,你可以看到我補充說。我發佈後,我意識到。謝謝。 –

+0

對不起,我在我的手機上的應用程序,並沒有刷新。 – iCode