日期:2014-05-17  浏览次数:20677 次

C# 读取文件名 并且改变文件名
比如我有 一部电视剧有 20 集 分别叫 XX一 XX二 XX三.... 我想写个程序把这里的文件名改成 XX1 XX2 XX3....
  最好是能批量修改 (不论是winform 或 asp.net 程序都可以)

------解决方案--------------------
C# code
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] CharNum = new string[] { "一", "二", "三", "四", "五", "六", "七", "八", "九", "十", "十一", "十二" };
            string[] Num = new string[] { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12" };
            DirectoryInfo di = new DirectoryInfo(@"C:\test");
            di.GetFiles().ToList().ForEach(x => 
                {
                    string NewName = x.Name;
                    for (int i = CharNum.GetLength(0) - 1; i >= 0; i--)
                    {
                        NewName = NewName.Replace(CharNum[i], Num[i]);
                    }
                    File.Move(x.FullName, x.Directory + "\\" + NewName);
                });
        }
    }
}

------解决方案--------------------
DirectoryInfo 的说明http://msdn.microsoft.com/zh-cn/library/system.io.directoryinfo(v=vs.80).aspx

帮LZ顶下吧
------解决方案--------------------
文件在读取时 不能同时修改文件名字的吧
被其他进程使用中
------解决方案--------------------
File.Move()
------解决方案--------------------
现提取最后一个.的后缀

然后自己命名拼接