簡體   English   中英

C#用“”替換包含“。”的文件名,但刪除文件擴展名

[英]C# Replacing filenames containing “.” with “ ” but removing the file extension

我重命名包含“。”的文件夾中的文件。 用“”。
預期結果......之前:“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(".", " ")));
}

您只需使用Path.GetFileNameWithoutExtension來獲取文件的名稱,然后只需將原始擴展名附加到末尾即可。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM