C# 替换包含“.”的文件名使用“”但删除文件扩展名
C# Replacing filenames containing "." with " " but removing the file extension
我正在重命名文件夹中包含“.”的文件。带有“”。
预期结果...之前:"I.am.testing.txt",之后:"I am testing.txt"
实际结果...之前:"I.am.testing.txt",之后:"I am testing 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));
我正在重命名文件夹中包含“.”的文件。带有“”。
预期结果...之前:"I.am.testing.txt",之后:"I am testing.txt"
实际结果...之前:"I.am.testing.txt",之后:"I am testing 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));