ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

C#实现批量修改指定文件夹中文件的扩展名,可指定某种类型,可指定全部

2020-11-26 12:31:22  阅读:284  来源: 互联网

标签:files 文件 扩展名 string C# 指定 foldPath 修改 文件夹


背景:创作的由来。个文件夹中许多子文件,想传到某云方便日后换电脑时也能便捷查看,殊不知等资源传上去之后某云不支持预览。无奈只下只能将所有文件批量修改完txt格式,再重新传一遍,几百个文件,一秒搞定,哈哈哈!!!

源文件如下:

以上还只是一层,每层文件夹下还有n多的子文件,如果手动自己一个个修改。OMG,想想都可怕!!

以下是某个文件夹里的子文件。

 

好了,到这里,我们需要 做的事就是,让程序来做。程序要的思想就是,任何能用代码实现的东西,绝不让鼠标重复点击。

上代码:

/// <summary>
        /// 修改文件后缀
        /// </summary>
        /// <param name="sourceExtension">源文件的后缀名,传空值时修改所有文件</param>
        /// <param name="extension">文件修改后的后缀名</param>
        private void UpdateExtension(string sourceExtension, string extension)
        {
            string foldPath = textBox1.Text;
            if (!string.IsNullOrEmpty(foldPath))
            {
                //初始化文件夹对象
                DirectoryInfo dir = new DirectoryInfo(foldPath);
                // 获取当前文件夹下的所有文件
                //TopDirectoryOnly:在搜索操作中包括仅当前目录
                //FileInfo[] files = dir.GetFiles("*.*", SearchOption.TopDirectoryOnly);

                FileInfo[] files = dir.GetFiles(sourceExtension == "" ? "*.*" : "*.js", SearchOption.AllDirectories);
                //遍历当前文件夹下的所有文件
                for (int i = 0; i < files.Length; i++)
                {
                    //获取并输出文件扩展名称
                    Console.WriteLine(Path.GetExtension(files[i].FullName));
                    //修改文件扩展名称
                    files[i].MoveTo(Path.ChangeExtension(files[i].FullName, extension));
                    //获取并输出文件扩展名称
                    Console.WriteLine(Path.GetExtension(files[i].FullName));
                }
                MessageBox.Show("Complete!");
            }
        }

设置界面文件夹目录:

            //弹框选择文件夹
            FolderBrowserDialog dialog = new FolderBrowserDialog
            {
                Description = "请选择文件夹"
            };
            if (dialog.ShowDialog() == DialogResult.OK)
            {
                //获得文件夹路径
                string foldPath = dialog.SelectedPath;
                textBox1.Text = foldPath;
            }

调用方式:

UpdateExtension("js", "txt");

 

界面设计:

 

挺简单的,需要源码可以在个人简介找到联系方式!

标签:files,文件,扩展名,string,C#,指定,foldPath,修改,文件夹
来源: https://blog.csdn.net/xukai515786/article/details/110182595

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有