3
    originalFiles = Directory.GetFiles(fbFolderBrowser.SelectedPath).Where(file => !file.EndsWith(".db")).ToArray();

foreach (string file in originalFiles)
    {
         File.Move(file, file.Replace(".JPG", ".jpg"));
         File.Move(file, file.Replace(".TIFF", ".tiff"));
         File.Move(file, file.Replace(".JPEG", ".jpeg"));
         File.Move(file, file.Replace(".BMP", ".bmp"));
         File.Move(file, file.Replace(".GIF", ".gif"));
    }

我认为运行上述内容会将文件扩展名更改为小写。

我在目录中有文件:

AAA_1.jpg
AAA_2.JPG
BBB_1.TIFF
BBB_2.GIF

我希望它是:

AAA_1.jpg
AAA_2.jpg
BBB_1.tiff
BBB_2.gif

我该怎么做呢?

4

2 回答 2

8

使用类的ToLower()方法,使用String类的ChangeExtension()方法Path。这应该允许您将所有扩展名小写,而不必枚举每个可能的扩展名。

DirectoryInfo folder = new DirectoryInfo("c:\whatever");
FileInfo[] files = dirInfo.GetFiles("*.*");


foreach (var file in files)
{
    File.Move(file.FullName, Path.ChangeExtension(file, 
       Path.GetExtension(file).ToLower()));     
}
于 2012-08-22T20:40:25.087 回答
-1

我知道了。感谢罗伯特的提示。

foreach (string file in originalFiles)
{
  File.Move(file, Path.ChangeExtension(file, Path.GetExtension(file).ToLower()));
}
于 2012-08-22T20:52:30.517 回答