to chNET(有神论者) :是个笨办法,我想快速更改几万个文件,可能这个方法行不通。

解决方案 »

  1.   

    用File遍历用Diretory类得到的File集合,按自己的想法改名。大致思路如此
      

  2.   

    to oldhunter(老猎人) :我就想更改文件名称而已,而且就是不知道怎样更改文件名称。
      

  3.   

    用File遍历用Diretory类得到的File集合
    用这个方法改名 File.Move("c:\\temp\\abc.txt", "C:\\temp\\def.txt" );  
      

  4.   

    fyy117() :我不移动文件,就想把文件名称改了。
      

  5.   

    windows里移动文件和改文件名用的是同一个函数, 路经相同的话就是改名, 不同就是移动
      

  6.   

    public void Rename(DirectoryInfo dir)
    {   
        int i = 0;    if(dir.Exists)
        {
            foreach(string fileName in dir.GetFiles())
            {
                if(File.Exist(fileName))
                {
                    FileInfo fi = new FileInfo(fileName);
                    fi.MoveTo(Path.Combine(dir.Name, i.ToString() + fi.Extension);
                    i++;
                }
            }
        }
    }
      

  7.   

    再贴一次,win2000下调试通过Process proc = new Process();
    proc.StartInfo.FileName="ren.exe";
    proc.StartInfo.CreateNoWindow=true;
    proc.StartInfo.Arguments="*.doc *.txt";
    proc.Start();
      

  8.   

    来晚了public void Rename(DirectoryInfo dir)
    {   
        int i = 0;    if(dir.Exists)
        {
            foreach(string fileName in dir.GetFiles())
            {
                if(File.Exist(fileName))
                {
                    FileInfo fi = new FileInfo(fileName);
                    fi.MoveTo(Path.Combine(dir.Name, i.ToString() + fi.Extension);
                    i++;
                }
            }
        }
    }
      

  9.   

    更正一下。
    void Rename(DirectoryInfo dir)
    {
        int i = 0;
        if(dir.Exists)
        {
            foreach(FileInfo fi in dir.GetFiles())
            {
                fi.MoveTo(Path.Combine(dir.FullName, i.ToString() + "." + fi.Extension));
       i++;
            }
            foreach(DirectoryInfo di in dir.GetDirectories())
            {
       Rename(di);
            }
        }
    }
    我测试过3G的数据11,500文件,2381个文件夹,花费25秒。