热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

重命名小工具

前段时间在网上下了很多教程,文件名都是以这段字符开头“跟我一起来学XXX”,看着很是碍眼,因为文件名很长导致在文件夹里浏览的时候后面都是省
前段时间在网上下了很多教程,文件名都是以这段字符开头“跟我一起来学XXX”,看着很是碍眼,因为文件名很长导致在文件夹里浏览的时候后面都是省略号,手动改又嫌太麻烦,有100多个文件,还是让电脑自动帮我改吧,自己动手丰衣足食,就用C#写个简单的小工具。



列目录函数
        private void listDirectory(string path)
        
{
            DirectoryInfo dir 
= new DirectoryInfo(path);            
            FileInfo[] files
=dir.GetFiles();
            
string extension=getExtension();

            fileList.Items.Clear(); 

            
foreach (FileInfo file in files)
            
{
                
if (extension != string.Empty)
                
{
                    
if (extension.IndexOf(file.Extension.ToUpper()) >= -1 && file.Extension != string.Empty)
                    
{
                        fileList.Items.Add(file.Name);
                    }

                }

                
else
                
{
                    fileList.Items.Add(file.Name);
                }

            }
            
        }

获取扩展名
        private string getExtension()
        
{
            StringBuilder sb 
= new StringBuilder(50);
            
foreach (Control control in this.groupBox1.Controls)
            
{
                
if (control.Tag.ToString().Equals("tagExtension"))
                
{
                    
if ((control as CheckBox).Checked)
                    
{
                        sb.Append(control.Text
+";");
                    }


                }

            }

            
return sb.ToString();
        }

重命名方法
        private void btnRename_Click(object sender, EventArgs e)
        
{
            
if (MessageBox.Show("这个操作是不可逆的,确定要继续吗?""询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                
return;
            FileInfo file;
            
string preName = this.txtPreName.Text.Trim();
            
string pre=preName;
            
int preLen = (int)this.preLength.Value;

            
try
            
{
                
for (int i &#61; 0; i < fileList.Items.Count; i&#43;&#43;)
                
{
                    file 
&#61; new FileInfo(fbd.SelectedPath &#43; "\\" &#43; fileList.Items[i].ToString());

                    
if (this.chkAuto.Checked) pre &#61; i.ToString() &#43; "." &#43; preName;
                    
if (fileList.Items[i].ToString().Length >&#61; preLen)
                    
{
                        file.MoveTo(fbd.SelectedPath 
&#43; "\\"&#43;pre &#43; fileList.Items[i].ToString().Substring(preLen));
                    }

                    
else
                    
{
                        file.MoveTo(fbd.SelectedPath 
&#43; "\\"&#43;pre &#43; fileList.Items[i].ToString());
                    }

                }

                MessageBox.Show(
"重命名完成""提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                listDirectory(fbd.SelectedPath);
            }

            
catch
            
{
                MessageBox.Show(
"重命名发生错误""提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

        }

    }



RenameTool.rar

转:https://www.cnblogs.com/lordz/archive/2008/07/01/1233226.html



推荐阅读
  • 如何使用 net.sf.extjwnl.data.Word 类及其代码示例详解 ... [详细]
  • 本文深入解析了WCF Binding模型中的绑定元素,详细介绍了信道、信道管理器、信道监听器和信道工厂的概念与作用。从对象创建的角度来看,信道管理器负责信道的生成。具体而言,客户端的信道通过信道工厂进行实例化,而服务端则通过信道监听器来接收请求。文章还探讨了这些组件之间的交互机制及其在WCF通信中的重要性。 ... [详细]
  • 本文探讨了如何在C#应用程序中通过选择ComboBox项从MySQL数据库中检索数据值。具体介绍了在事件处理方法 `comboBox2_SelectedIndexChanged` 中可能出现的常见错误,并提供了详细的解决方案和优化建议,以确保数据能够正确且高效地从数据库中读取并显示在界面上。此外,还讨论了连接字符串的配置、SQL查询语句的编写以及异常处理的最佳实践,帮助开发者避免常见的陷阱并提高代码的健壮性。 ... [详细]
  • 在Android应用开发中,实现与MySQL数据库的连接是一项重要的技术任务。本文详细介绍了Android连接MySQL数据库的操作流程和技术要点。首先,Android平台提供了SQLiteOpenHelper类作为数据库辅助工具,用于创建或打开数据库。开发者可以通过继承并扩展该类,实现对数据库的初始化和版本管理。此外,文章还探讨了使用第三方库如Retrofit或Volley进行网络请求,以及如何通过JSON格式交换数据,确保与MySQL服务器的高效通信。 ... [详细]
  • 本文总结了JavaScript的核心知识点和实用技巧,涵盖了变量声明、DOM操作、事件处理等重要方面。例如,通过`event.srcElement`获取触发事件的元素,并使用`alert`显示其HTML结构;利用`innerText`和`innerHTML`属性分别设置和获取文本内容及HTML内容。此外,还介绍了如何在表单中动态生成和操作``元素,以便更好地处理用户输入。这些技巧对于提升前端开发效率和代码质量具有重要意义。 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • com.sun.javadoc.PackageDoc.exceptions()方法的使用及代码示例 ... [详细]
  • 本文总结了一些开发中常见的问题及其解决方案,包括特性过滤器的使用、NuGet程序集版本冲突、线程存储、溢出检查、ThreadPool的最大线程数设置、Redis使用中的问题以及Task.Result和Task.GetAwaiter().GetResult()的区别。 ... [详细]
  • 开发技巧:在Interface Builder中实现UIButton文本居中对齐的方法与步骤
    开发技巧:在Interface Builder中实现UIButton文本居中对齐的方法与步骤 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 在探讨如何在Android的TextView中实现多彩文字与多样化字体效果时,本文提供了一种不依赖HTML技术的解决方案。通过使用SpannableString和相关的Span类,开发者可以轻松地为文本添加丰富的样式和颜色,从而提升用户体验。文章详细介绍了实现过程中的关键步骤和技术细节,帮助开发者快速掌握这一技巧。 ... [详细]
  • Unity3D 中 AsyncOperation 实现异步场景加载及进度显示优化技巧
    在Unity3D中,通过使用`AsyncOperation`可以实现高效的异步场景加载,并结合进度条显示来提升用户体验。本文详细介绍了如何利用`AsyncOperation`进行异步加载,并提供了优化技巧,包括进度条的动态更新和加载过程中的性能优化方法。此外,还探讨了如何处理加载过程中可能出现的异常情况,确保加载过程的稳定性和可靠性。 ... [详细]
  • 使用Maven JAR插件将单个或多个文件及其依赖项合并为一个可引用的JAR包
    本文介绍了如何利用Maven中的maven-assembly-plugin插件将单个或多个Java文件及其依赖项打包成一个可引用的JAR文件。首先,需要创建一个新的Maven项目,并将待打包的Java文件复制到该项目中。通过配置maven-assembly-plugin,可以实现将所有文件及其依赖项合并为一个独立的JAR包,方便在其他项目中引用和使用。此外,该方法还支持自定义装配描述符,以满足不同场景下的需求。 ... [详细]
  • C#编程中按钮控件的使用与优化 ... [详细]
  • 探索偶数次幂二项式系数的求和方法及其数学意义 ... [详细]
author-avatar
雨舒紫_586
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有