c#实现文件批处理:剪切、复制、删除、改名、分类等

来源:互联网 发布:hifi播放器软件 编辑:程序博客网 时间:2024/06/08 01:04

全栈工程师开发手册 (作者:栾鹏)

c#教程全解

c#实现文件批处理,包含批量剪切、复制、删除、按时间分类到不同文件夹,按格式分类到不同文件夹,以及批量修改名称等等。

c#批量剪切文件函数

 /// <summary> /// 文件剪切、改名操作 /// </summary> /// <param name="srcdir">源文件夹</param> /// <param name="desdir">目的文件夹</param> public static void file_cut(string srcdir,string desdir) {     DirectoryInfo thefolder = new DirectoryInfo(srcdir);     foreach (FileInfo nextfile in thefolder.GetFiles())     {         try         {             string filename = nextfile.Name;             string filefullname = nextfile.FullName;             string mudi = desdir + "\\" + filename;             File.Move(filefullname,mudi);         }         catch (System.Exception ex)         {             System.Console.WriteLine(ex.ToString());         }     } }

c#批量复制文件函数

/// <summary>/// 文件复制函数/// </summary>/// <param name="srcdir">源文件夹</param>/// <param name="desdir">目的文件夹</param>public static void file_copy(string srcdir, string desdir){    DirectoryInfo thefolder = new DirectoryInfo(srcdir);    foreach (FileInfo nextfile in thefolder.GetFiles())    {        try        {            string filename = nextfile.Name;            string filefullname = nextfile.FullName;            string mudi = desdir + "\\" + filename;            //如果目的文件已经存在            if (File.Exists(mudi))            {                File.Delete(mudi);            }            else            {                File.Copy(filefullname, mudi);            }        }        catch (System.Exception ex)        {            System.Console.WriteLine(ex.ToString());        }    }}

c#批量删除文件函数

public static void file_delete(string srcdir){    DirectoryInfo thefolder = new DirectoryInfo(srcdir);    foreach (FileInfo nextfile in thefolder.GetFiles())    {        try        {            string filename = nextfile.Name;            string filefullname = nextfile.FullName;            File.Delete(filefullname);        }        catch (System.Exception ex)        {            System.Console.WriteLine(ex.ToString());        }    }}

c#批量按时间将文件分类到对应的文件夹

 /// <summary> /// 文件按时间分类到不同的文件夹 /// </summary> /// <param name="srcdir">源文件夹</param> /// <param name="desdirtemp">目的文件夹</param> public static void file_classify_date(string srcdir, string desdir) {     DirectoryInfo thefolder = new DirectoryInfo(srcdir);     foreach (FileInfo nextfile in thefolder.GetFiles())     {         try         {             string filename = nextfile.Name;             string filefullname = nextfile.FullName;             string creattime = nextfile.CreationTime.Year.ToString() + "_" + nextfile.CreationTime.Month.ToString() + "_" + nextfile.CreationTime.Day.ToString();             string desdirtemp = desdir + "\\" + creattime;             if (!Directory.Exists(desdirtemp))             {                 Directory.CreateDirectory(desdirtemp);             }             string mudifile = desdirtemp + "\\" + filename;             //如果目的文件已经存在             if (File.Exists(mudifile))             {                 File.Delete(mudifile);             }             else             {                 //移动文件函数                 File.Move(filefullname, mudifile);             }         }         catch (System.Exception ex)         {             System.Console.WriteLine(ex.ToString());         }     } }

c#批量按格式将文件分类到对应到文件夹

/// <summary>/// 文件按格式分类到不同的文件夹/// </summary>/// <param name="srcdir">源文件夹</param>/// <param name="desdirtemp">目的文件夹</param>public static void file_classify_format(string srcdir, string desdir){    DirectoryInfo thefolder = new DirectoryInfo(srcdir);    foreach (FileInfo nextfile in thefolder.GetFiles())    {        try        {            string filename = nextfile.Name;            string filefullname = nextfile.FullName;            string filetype = Path.GetExtension(filefullname);            string desdirtemp  =  desdir+ "\\" + filetype;            if (!Directory.Exists(desdirtemp))            {                Directory.CreateDirectory(desdirtemp);            }            string mudifile = desdirtemp + "\\" + filename;            //如果目的文件已经存在            if (File.Exists(mudifile))            {                File.Delete(mudifile);            }            else            {                //移动文件函数                File.Move(filefullname, mudifile);            }        }        catch (System.Exception ex)        {            System.Console.WriteLine(ex.ToString());        }    }}

c#批量修改文件名,

/// <summary>/// 所有文件名添加指定模式的字符串/// </summary>/// <param name="dirpath">源文件夹</param>/// <param name="setstr">修改模式</param>/// <param name="append">名称是追加还是修改</param>public static void file_name_change(string dirpath, string set, bool append){    if (set == "")    {        throw new Exception("修改文件名不能为空");        return;    }    DirectoryInfo thefolder = new DirectoryInfo(dirpath);    int index = 0;    foreach (FileInfo nextfile in thefolder.GetFiles())    {        try        {            string filename = nextfile.Name;            string filefullname = nextfile.FullName;            string yuandir = filefullname.Substring(0, filefullname.LastIndexOf("\\"));            string filetype = Path.GetExtension(filefullname);            filename = filename.Replace(filetype, "");            if (!append)            {                filename="";  //如果不使用追加模式,则清空文件名            }            if (set == "*date")            {                string mudifile = yuandir + "\\" + filename + DateTime.Now.ToString("yyyy-MM-dd") + filetype;                Directory.Move(filefullname, mudifile);            }            else if (set == "*time")            {                string mudifile = yuandir + "\\" + filename + DateTime.Now.ToString("dd-mm-ss")+ filetype;                Directory.Move(filefullname, mudifile);            }            else if (set == "*date_time")            {                string mudifile = yuandir + "\\" + filename + DateTime.Now.ToString("yyyy-MM-dd-mm-ss") + filetype;                Directory.Move(filefullname, mudifile);            }            else if (set == "*number")            {                string mudifile = yuandir + "\\" + filename +Convert.ToString(index)+filetype;                index++;                Directory.Move(filefullname, mudifile);            }            else            {                string mudifile = yuandir + "\\" + filename + set + filetype;                Directory.Move(filefullname, mudifile);            }        }        catch (System.Exception ex)        {            System.Console.WriteLine(ex.ToString());        }    }}
原创粉丝点击