欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 时评 > C# 批量更改文件后缀名称

C# 批量更改文件后缀名称

2024/10/25 5:28:06 来源:https://blog.csdn.net/u011753609/article/details/142188051  浏览:    关键词:C# 批量更改文件后缀名称

 解决问题思路

解决固定文件夹下更改文件后缀名,采用轮询的方式,

流程如下:

  1. 获取当前文件名(带后缀的文件名)
  2. 截取文件名称,去掉后缀
  3. 另存为带更改后的后缀文件

注意:采用第三方插件,附:源码和插件

开发工具:vs2022

库环境:.net Framework4.8

引用插件库:LongHunFramework

二、程序介绍

1.获取需要修改文件所在文件夹,及需要修改文件的后缀名


string dirPath = "G:\\Code\\demo2\\GRJ2A\\bin\\data\\map\\tiles";//Console.ReadLine();if (Directory.Exists(dirPath)){string hbStr_DictionaryPath = dirPath;List<string> hbListStr_AllFile = new List<string>();string dirPath = "G:\\Code\\demo2\\GRJ2A\\bin\\data\\map\\tiles";//Console.ReadLine();if (Directory.Exists(dirPath)){string hbStr_DictionaryPath = dirPath;List<string> hbListStr_AllFile = new List<string>();//! 获取全部pnghlFileIO.hfjGetAllFileListByExtension(hbStr_DictionaryPath,             ref hbListStr_AllFile, ".png");}//! 获取全部pnghlFileIO.hfjGetAllFileListByExtension(hbStr_DictionaryPath, ref hbListStr_AllFile, ".png");}

dirPath路径为需要修改文件所在文件夹路径,操作前需要判断当前文件夹是否存在,如果存在可以执行下一步,如过不存在,则退出。

Ref:为net程序返回变量,hbListStr_AllFile变量前加上ref后,hbListStr_AllFile会输出该方法的返回值;

  1. 遍历修改文件后缀名,并保存
//! 遍历文件解决for (int i = 0; i < hbListStr_AllFile.Count; i++){string nowOldFileFullName = hbListStr_AllFile[i];//获取当前文件全路径,  例如 c:/83838/3/3/3/43/4/122.pngstring hbOldFileName = Path.GetFileName(nowOldFileFullName);//返回 122.png 这样的文件名string hbDictionary = Path.GetDirectoryName(nowOldFileFullName);// 返回 目录,例如 "c:/83838/3/3/3/43/4"string hbOldFileOnlyName  = Path.GetFileNameWithoutExtension(nowOldFileFullName);// 获取"122"这样的名称string hbNewFileName = hbOldFileOnlyName + ".jpg"; //新的名字 "122.jpg"string newFileFullPath = Path.Combine(hbDictionary, hbNewFileName); //新文件的全路径, 例如 " c:/83838/3/3/3/43/4/122.jpg"if (File.Exists(newFileFullPath)){Console.WriteLine($"因为已经存在[{newFileFullPath}], 所以没有对文件[{nowOldFileFullName}]进行操作!");}else{hlFileIO.hfjMoveAFile(nowOldFileFullName, newFileFullPath, true);}Console.WriteLine($"{i}/{hbListStr_AllFile.Count} 已修改完成...");}

提示:如果想修改多层级的文件夹,需要用到递归算法,递归每一层级的文件夹下的文件

亲测可用

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com