更改目录中所有文件的扩展名

kam*_*ame 0 c# directory filenames

我没有收到错误,但扩展名没有改变.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;


namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string filename;
            string[] filePaths = Directory.GetFiles(@"c:\Users\Desktop\test\");
            Console.WriteLine("Directory consists of " + filePaths.Length + " files.");
            foreach(string myfile in filePaths)
                filename = Path.ChangeExtension(myfile, ".txt");
            Console.ReadLine();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Ric*_*dle 14

Path.ChangeExtension 只返回带有新扩展名的字符串,它不会重命名文件本身.

您需要使用System.IO.File.Move(oldName, newName)重命名实际文件,如下所示:

foreach (string myfile in filePaths)
{
    filename = Path.ChangeExtension(myfile, ".txt");
    System.IO.File.Move(myfile, filename);
}
Run Code Online (Sandbox Code Playgroud)