全栈工程师开发手册 (作者:栾鹏)
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());}}
}

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

  1. php剪切文件,C/C++文件剪切复制删除

    我们在写某些程序有破坏性的程序的时候,往往会对程序进行剪切复制删除等操作, 下面就来简单讲解下剪切复制删除, 文件的复制#include #include int main() { DWORD get ...

  2. C/C++文件剪切复制删除

    我们在写某些程序有破坏性的程序的时候,往往会对程序进行剪切复制删除等操作, 下面就来简单讲解下剪切复制删除, 文件的复制 #include <Windows.h> #include < ...

  3. 【转】VC++ MFC文件的移动复制删除更名遍历操作

    1.判断文件是否存在 利用CFile类和CFileStatus类判断 CFileStatus filestatus; if (CFile::GetStatus(_T("d://softist ...

  4. js 删除服务器文件,Node.js复制/删除服务器端文件到指定目录文件夹下,并且预判是否存在该目录,如果没有,则递归创建该文件夹目录...

    注意,前情提示: 本代码基于<Node.js(nodejs)对本地JSON文件进行增.删.改.查操作(轻车熟路)> 传送门https://blog.csdn.net/qq_37860634 ...

  5. 剪切复制文件不见了能恢复吗?

    对于一些经常工作的人来说.在使用电脑的过程中遇到了很多问题.比如在使用电脑时,经常对于一批文件进行剪切和复制等操作.这样有时我们会遇到移动失败,导致剪切文件丢失.又比如当您使用剪切和粘贴来移动文件时, ...

  6. java中怎么剪切文件_java中实现文件复制、剪切和删除

    import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io ...

  7. 解决Windows剪切、删除、移动海量文件时,速度慢和卡死的问题

    问题现状: 高端配置台式电脑,开机,然后立即剪切一个有8万文件的目录到另一个盘,执行到2%的时候就卡住了,等了10分钟没任何进度. 用另一个文件夹同步工具,将剩下的98%同步过去,仅仅花费了2分钟左右 ...

  8. linux里用于剪切文件,Linux_拷贝,剪切,删除和创建文件

    cp 你要拷贝的文件 + 目录/带路径的文件名(在拷贝的同时,让这个文件重新命名) cp /tep/dir01  ~  代表将dir01拷贝到当前用户的家目录中 cp /tep/dir02  ~/di ...

  9. java实现文件夹的复制和剪切(包括子文件和子文件夹)

    java实现文件夹的复制和剪切 思路分析 代码展示 思路分析 上一篇文章已经介绍了java实现文件夹的复制,这篇文章为上一篇文章的补充,补充了文件夹的剪切,大家可以点击这里来了解上一篇文章(Java实 ...

最新文章

  1. Matlab在概率统计中的应用问题及解决方案集锦
  2. 收获,不止SQL优化——抓住SQL的本质--第三章
  3. PyPI 管理员删除已潜伏10个月且下载量超1万次的恶意包
  4. linux 空信息,为什么recv()函数收到空消息?
  5. python学习点滴记录-Day14-前端基础之javascript
  6. linux抓肉鸡入侵详细教程,Linux XOR.DDoS入侵排查步骤 | 聂扬帆博客
  7. cs61b实验记录(八)project 3:BearMaps 基于OSM的伯克利地图web应用
  8. mysql的insert_MySQL中INSERT的一般用法
  9. 学计算机是不是必须要买电脑,上大学了,你必须买一部电脑吗?
  10. HECTF2021-WP集合
  11. 小米手机不为人知的秘密—后台静默安装任何应用
  12. SvnAnt authentication cancelled 的解决
  13. Cause: java.sql.SQLExceptioValue ‘0000-00-00 00:00:00‘ can not be represented as java.sql.Timestamp
  14. logback日志使用记录
  15. Springboot之监控健康状况
  16. 什么是EE(exploration and exploitation)问题
  17. pyqt 使用问题总结
  18. java面试宝典超长完整版
  19. Java农夫过河问题的继承与多态实现
  20. E25-在线扩盘需要注意的点

热门文章

  1. Tag标签的增加和删除功能
  2. 3700打印机和计算机连接,WNDR3700成功实现打印机服务器功能(刷机成WNDR3800)
  3. php 对象 scalar,Scalar Types
  4. python中惩罚的代码_如何只为在python中使用的实现支付依赖惩罚?
  5. echart 饼图标题title的详细参数配置
  6. googlemap 两点间平滑移动_Salomon萨洛蒙徒步登山鞋实测,一双在山林与城市间探索的户外鞋...
  7. AcWing基础算法课Level-2 第六讲 贪心
  8. 【应用推荐】用狗屁不通文章生成器写文章
  9. 【POJ2259】Team Queue(队列,模拟)
  10. 【NOIP2002】【Luogu1032】字串变换