说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

C#实现文件批量改名工具

HTML文档下载 WORD文档下载 PDF文档下载
我经常需要修改一大批文件的文件名,需要一个一个手工命名非常累,因此我写了这个批量改名程序,本文介绍一下这个程序的实现方法。

 

作者:Steppenwolfe

 

下载源代码

 

我经常需要修改一大批文件的文件名,需要一个一个手工命名非常累,因此我写了这个批量改名程序,情况从此改变。

这个程序的接口是简单灵活的,如果你想使用正则表达式处理,提供LINQ支持,自定义查询等功能,就自个去实现吧,

如今它已经够用了!

 

 

代码实现片段

 

将文件扩展名放入combobox中

 

private Array EnumKeys(RegistryKey root, string subkey){    RegistryKey key = root.OpenSubKey(subkey);    string[] keys = key.GetSubKeyNames();    key.Close();    return keys;}private Array EnumValues(RegistryKey root, string subkey){    RegistryKey key = root.OpenSubKey(subkey);    string[] values = key.GetValueNames();    key.Close();    return values;}private ArrayList GetFileTypes(){    // get supported media types, missing from hkcr    // Applications\wmplayer.exe\SupportedTypes    Array media = EnumValues(Registry.ClassesRoot, MEDIATYPES);    Array list = EnumKeys(Registry.ClassesRoot, "");    ArrayList res = new ArrayList();    foreach (string s in media)    {        if (s.StartsWith("."))        {            res.Add(s);        }    }    foreach (string s in list)    {        if (s.StartsWith("."))        {            if (!res.Contains(s))            {                res.Add(s);            }        }    }    return res;}

下面是如何进行文件名收集,不需递归调用

 

private ArrayList GetFiles(string dir){    ArrayList list = new ArrayList();    string pattern = "*" + cbFileType.Text;    SearchOption option = chkSubfolder.Checked ? 	SearchOption.AllDirectories : SearchOption.TopDirectoryOnly;    if (Directory.Exists(dir))    {        if (chkSubfolder.Checked)        {            list = GetFiles(dir, pattern);        }        else        {            try            {                string[] files = Directory.GetFiles		(dir, pattern, SearchOption.TopDirectoryOnly);                foreach (string s in files)                {                    list.Add(s);                }            }            catch { }        }    }    return list;}private ArrayList GetFiles(string root, string pattern){    Stack<string> dirs = new Stack<string>(20);    ArrayList list = new ArrayList();    string[] subDirs = new string[0];    string[] files = null;    dirs.Push(root);    while (dirs.Count > 0)    {        string currentDir = dirs.Pop();        try        {            subDirs = Directory.GetDirectories(currentDir);        }        catch (UnauthorizedAccessException e) { continue; }        catch (DirectoryNotFoundException e) { continue; }        catch { }        try        {            files = Directory.GetFiles(currentDir, pattern);        }        catch (UnauthorizedAccessException e) { continue; }        catch (DirectoryNotFoundException e) { continue; }        catch { }        foreach (string file in files)        {            list.Add(file);        }        foreach (string str in subDirs)        {            dirs.Push(str);        }    }    return list;}
你可能会疑惑,为什么我不用Directory.GetFiles得到了所有文件,这是因为如果文件被
其它正在处理的应用程序删除或占用,该调用会失败。
特点
撤消更改
添加/删除或替换不同序列中的字符串
改变预览
单词的大小写控制
删除现有的数字序列
有序规则为基础的处理
编号前缀/后缀和格式选项

 

 

安全专家王清将揭秘“大数据时代的大安全” BrainSpace:跟传统搜索说再见 艾普网络的OpenStack实践 移动周报:无需编程,分秒钟DIY一个移动网站 抢占先机:豌豆荚发布视频搜索产品 Cloud-Connect大会Day1:OCP与SwiftStack 云智能手机,将会很快威胁到Android和iPhone? 直接拿来用!超实用的Java数组技巧攻略 腾讯云俱乐部上海站:电商如何利用云提高核心竞争力 iOS开发者必备:六大图片、图标处理类工具 腾讯向搜狗注资4.48亿美金持股36.5% 推荐五款流行的JavaScript模板引擎 为何人人都将成为程序员?看32位美国顶尖精英的说法! MySQL再度失势:继维基百科之后,Google也迁移到了MariaDB Werner Vogels:亚马逊热爱艺术的CTO Jolla宣布Sailfish OS兼容Android手机硬件和应用 为什么项目估算偏差如此之大? Cloud Connect大会Day2:开源与云数据中心 CTO俱乐部第110期下午茶:利用麦肯锡7S模型构建管理框架 跨平台打造移动原生应用的10大武器 iOS与Android本地数据库新选择:使用Objective-C和Java编写 Cloud Connect大会day3:Intel的大数据与Metacloud私有云 农民也玩数据挖掘:基于物联网的高端种菜模式 前谷歌Android开源项目主管Queru加盟雅虎 Windows 8.1售价出来了!分别是119.99美元、199.99美元 对AngularJS进行性能调优的7个建议 为什么说UX设计师的黄金时代已来临? 豌豆荚:“应用内搜索”是打通移动互联网最具竞争力的入口 苹果发布会后的冷思考,64位芯片为开发者带来了什么? 中兴Geek评测:高性价比的英特尔处理器智能机 SAE的资源、安全隔离与Container 控件的写法请教,我新控件由3个控件组合而成,但是控件间的相互通讯成了问题,如何向其他的单元发送消息呢,比如当点击某个控件其他两个, 同时响应这个消息 一个SQL语句的问题 怎么在form中定义一个变量,然后可以在另一个form中调用!? 请问考过SCJP的大虾,SCJP考试的题目是中文还是英文,证书的有效期是多长时间? 用SOCKS5协议同服务器建立连接后,连接到外部网站(象新浪),如何将网页显示出来呢? /Access数据库中的一个表,最多可以有多少字段?/ 有关DBHCP 求救,谁有pb6.5的光盘。想买一张或者刻一张(限北京) 请教:jdbc 连线管理 高手们,怎么动态生成button??? 好消息!!! 购买外文原版书的朋友---》www.china-pub.com 如何制作包含系统驱动程序的安装盘? 为什么会发出这样的声音? 从98年到2000年中程水平考试上午题就没高过45分,这次上午题普遍认为比前几年难,该不会超过45分把。 ————————————简单的问题 怎样将AutoCAD图形存储到SQL SERVER中,而且不是存路径 请问怎么样知道当前记录属于表中的第几条记录(我用的是ADODC控件) ????请问怎么在Applet应用程序中打开Word文档?????? #####救我啊~~~~~文件好好的为什么坏了###### 我已被richeditctrl折腾得不行了,我有些文本要显示,只要求能改变颜色,行距,能该字体最好,谁能给我推荐一个控件,我备有厚礼! 一个C问题! 急!!!!高手请赐教! 请问我有一张FAT32的软盘,能不能在linux下读取盘上的内容呢? 关于连接共享的问题, 请帮忙 如何对动态创建地组件进行操作???救命!!!!! 请问嵌入式开发和单片机方面有什么关系??? WTO向中国开出首张罚单! 请问各位大侠,在西安哪里有介绍db2的书的? 我以前用VB,现在想转向VC++,可我看了一些VC++的入门书根本摸不着头脑,各位老师,我该如何是好??? 谁用过TextRect这个过程,为什么它的最后一个参数TextFlags无法用,一加上这个参数就报告参数个数太多? 请教一个关于Session的问题 急用,一个票据打印的问题???请教各位高手!多谢! 请哪位大虾解释一下线程中语句sleep(n)的含义,谢谢!!!! Norwaywoods(挪威的森林),谢谢你,请来拿分呀,天,送分都这么难!!! boundschecker大讨论,为何运行vc的go完毕后,未报内存泄露,但boundschecker去却报了一大堆错,信谁?详见内 关于java中,ftp的问题,用FtpClient如何获取server端的目录结构啊,多谢。 任务管理器不能正常工作 〉〉〉〉如何才能使用户禁止修改表单上的某些域??? 请问如何使某个窗体总是最上面,而且总是当前活动窗口? 如何保存对OLE对象(位图)的修改?在关闭OLE调用之后 '如何在ActiveReport1.0中的得知报表中当前打印位置. 请问考过MCSD的大虾,MCSD考试的题目是中文还是英文,每一门是多少钱? !!怎么让运行程序后的图标显示在任务栏中,即和输入法的图标放在一起 insmod ***.o 提示设备或资源忙!什么问题?????? 请教高手! 我以前没做过lotus开发,想转做这个不知该从何入手,请各位前辈指教(是不是如果没有项目经验找工就特别难?) 请问如何改变datagrid、sstab的颜色? 急!!! 请海星看过来,有关The art of computer programming 请教高手!很急的哦 java怎么处理无限循环中不可到达的语句?请指教,谢谢 铜和铁的摩擦系数是多少? POF热收缩膜质量检测标准有没有内行啊? 高一物理第六题 甲乙两个工程队合修一段路.甲队单独修12天可以修完,乙队先单独修5天,完成全部工程的三分之一,余下两队合修,还要几天修完?比如1-1/3 是因为xxxx这样.或者是像其他题目里:表面积:xxxx 侧面 有三个电阻,R1=8欧姆,R2=12欧姆,R3=20欧姆将其串联在十伏的电源上,求三个电阻两端的电压各是多少? 甲乙两个工程队合修一条路,甲队的工作效率是乙队的3/5 .两队合修6天正好完成这条路的2/3,余下的由乙队单独各位好心的网友们 我脑子 有点 转不过弯来 写的时候 这一步 求出来的 是什么! 甲乙两个工程队修一条路,甲队独修12天完成,乙队单独修8天完成全部的3分之1,余下甲乙合修,还要几天修完 杀虫剂瓶子里的钢珠有什么用 三元乙丙橡胶的日常用途日常生活中有哪些物品能用到三元乙丙橡胶,河北省有做这个的厂家吗?我想弄点样品做实验,用在汽车轮胎上 甲、乙两工程队和修一条路.甲队独修12天完成,乙队独修8天完成全部的1/3,余下的两队合作,还要几天? 在下图中,已知电压为220V,电阻R1为30欧姆,电阻R2为15欧姆,电阻R3为10欧姆,求通过电阻R3的电流.怎么计算, 谁知道525型三元乙丙橡胶的性能参数和用途. 甲乙两个工程队和修一条路,甲队单独修30天完成,乙队的工作效率是甲队的5分之四 大、小两种钢珠共40颗,重360克.已知大钢珠每颗重12克,小钢珠每颗重8克.大、小钢珠各有多少颗. 杀虫剂喷完以后需要清理喷过的地方吗?它自己会挥发干净吗? 如图10—2—19所示,电阻R3=4 Ω,电表为理想表.开始时R1、R2、R3中都有电流通过,电压表示数为2 V,电流表示数为0.75 A.后来三个电阻中有一个发生断路,使电压表示数变为3.2 V,电流表示数变为0.8 电阻R1=40欧姆,电阻R2=20欧姆,电阻R3=10欧姆,电源电压U=220V,求流过电阻R3的电流I3的大小是多少A? 是不是每种杀虫剂的挥发时间都相同 如图所示,电阻R3=4Ω,电表为理想表.开始时R1、R2、R3中都有电流通过,电压表示数为2V,电流表示数为0.75A,后来三个电阻中有一个发生断路,使电压表示数变为3.2V,电流表示数为0.8A.求:(1)哪 盒子里有大小两种钢珠共30个,共重266克,已知大钢珠每个11克,小钢珠每个7克,盒子中大钢珠小钢珠各多少? 杀虫剂多久可以挥发 pe膜和pvc膜有什么区别它们分别是什么价位 盒子里有大小两种钢珠共30个共重266克,大钢珠每个11克,小钢珠每个7克,盒子中大,小钢珠各有几个. 油基杀虫剂会挥发吗我不懂这个结果喷了很多在房间内 而且散了很久都是烟雾缭绕 我就睡觉了没什么问题吧而且地板 电脑...满屋子都是油 该怎么办?收拾的话很费劲 放置的话那层油那挥发 甲、乙两个工程队的工作效率比是3比5,现在要修一条240米的公路,甲工队单独要20天,那一单独要几天?240/3=80(天)80/20=4(倍) 240/5=48(天)48/4=12(天) 我的答案对的,老师 甲乙两个工程队合修一段公路,甲队的工作效率是乙队的五分之三,两队合作六天刚好修完公路的三分之二,余的由乙队单独修,还要多少天完成? 雷达杀虫剂多久挥发完 甲乙两个工程队共同修一条路,分别从两端修,先由甲队修240米后,乙队开始修,甲乙工效比7:5,完工时,甲修全长65%,完工时乙队修了全长的( )%,这条路全长多少米? 甲乙两个工程队合修一段公路,甲队的工作效率是乙队的5分之3,两队合修6天正好完成这段路的三分之二,余下的由乙单独修,还要几天才能完成? 如图所示的电路中,定值电阻R的阻值为36欧,闭合开关后电压表示数为2.4伏,灯泡L的电阻为12欧,求通过灯泡L的电流,电源电压U和定值电阻R的电功率. 蚊子最怕什么声音 甲乙两个工程队合修一段公路,甲队与乙队的工作效率比是3:5.两队合修5天正好完成这段公路的三分之二,余下的由乙队单独修,还要几天才能修完? 如图a所示电路中,已知固定电阻R=24欧,电源电压U=10V,电阻R0=1欧,灯泡L的I-U图像如图b所示,电键K闭合后电路中电流强度为?此时灯泡电阻为? 蚊子最怕什么呢? 甲乙两个工程队合修一条公路,甲队的工作效率是乙队的5分之3两队合作6天正好修完这段公路的3分之2余下的由乙单独修,还要几天才能修完? 怎么算摩擦系数 甲工程队修一条路要15天 乙队要20天 求甲乙两队的工作效率最简整数比 谁知道丁苯橡胶与三元乙丙橡胶共混橡胶的价格 将该电路图中的灯泡换成五欧,十欧,十五欧,二十欧,二十五欧的定值电阻,滑动变阻器接入电路阻值为14欧,图丁为接入电路的定值电阻的电阻与电流关系问所选的定值电阻阻值为多少 修一条路,若甲乙两个工程队合修要六天完成,如果乙队单独修要十天完成,则甲乙两队工作效率的最简整数比是()谢谢了 高一物理第六题求解! 盛放化学药品的瓶子叫什么如题~比如盛放硝酸的那种瓶子~ 如图所示,T为理想变压器,A1、A2为理想交流电流表,V1、V2为理想交流电压表,R1,R2,R3为电阻,原线圈两A.电压表V1读数变小B.电压表V2读数变大C.电流表A1 读数变大D.电流表A2读数变小 甲、乙两个工程队工作效率的比是8:3、现甲、乙两个工程队同时和修一条公路,当甲队修了总长的五分之二少24千米时,被调到另一个工地,由乙队继续修完剩下的132千米,这条公路长多少千米? 高一物理,第六题,求解 单独完成一项工程,甲要24天,乙要30天,现在甲、乙两队合作4天后,丙队加入,三队合作经7天完成全工程.如果一开始,三队就一起工作,求多少天就可以完成全工程? 空气摩擦系数是多少 为什么化学药品有的要装在棕色瓶子里? 单独完成一项工程,甲队要24天,乙对要30天.现在甲乙两队合作4天后,丙队参加进来又经过7天完成全部工程.如果一开始三队就一起工作,多少天可以完成全部工程? 空气摩擦系数K具体数值是多少做数学建模,关于交通事故的,不知道用不用的着 ,看看具体数值先,谢谢各位高手了高度,当然是在地面了…… 高一物理 第六题 一项工程,甲乙两对合作30天可以完成,现在两队合作12天后余下的工程请丙队一起参加,三队合做10天完成任务一项工程,甲乙两队合作30天可以完成,现在两队合作12天后余下的工程请丙队一起参 常温下 空气在pvc管中的摩擦系数是多少 怎么算出来的 为什么见光易分解的化学药品要放在棕色的瓶子里?别的带颜色的不行吗? PE、PET、PVC、OPP 哪种材料贵如上.哪种材料属于环保材料? 如何计算POF热缩膜的重量 3.设想在月球表面上,宇航员测出小物体自由下落h高度所用的时间为t,当飞船在靠近月球表面圆轨道上飞行时,测得其环绕周期是T,已知引力常量为G,根据上述各量,试求:(1)月球表面的重力加速度 什么是OPP,PE ,PVC 刚工作,做贸易,我们主要出口橡胶手套,好多东西都不太清楚尤其是袋子什么OPP ,PE ,PVC的,哪个最好? POF交联热收缩膜的特性是? 为什么有些化学药品用棕色瓶子装?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn