编程语言
首页 > 编程语言> > C#实现批量修改指定文件夹中文件的扩展名,可指定某种类型,可指定全部

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

作者:互联网

背景:创作的由来。个文件夹中许多子文件,想传到某云方便日后换电脑时也能便捷查看,殊不知等资源传上去之后某云不支持预览。无奈只下只能将所有文件批量修改完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