C# 批量修改文件夹(包含子文件)的后缀名

如:将文件夹下的Bmp图片修改为jpg图片

        /// 
        /// 修改图片的后缀名
        /// 
        /// 
        public string EditPicutureName()
        {
            string msg= "";
            try
            {
                string path = System.Web.HttpContext.Current.Server.MapPath("~/File");
                List FileList = new List();
                FileList = GetFileNew(path, FileList);
                int count = 0;
                if (FileList.Any())
                {
                    foreach (string file in FileList)
                    {
                        System.IO.File.Move(file, file.Replace(".bmp", ".jpg").Replace(".BMP", ".jpg"));
                        //System.IO.File.Copy(“原路径”,“新路径”);
                        ++count;
                    }
                }
                 msg = "修改了" + count + "张图片的后缀名" ;

            }
            catch
            {
                 msg= "修改失败" };
            }
            return msg;
          }
        /// 
        /// 获取Bmp图片
        /// 
        /// 
        /// 
        /// 
        public List GetFileNew(string path, List FileList)
        {
            DirectoryInfo dir = new DirectoryInfo(path);
            FileInfo[] fil = dir.GetFiles();
            DirectoryInfo[] dii = dir.GetDirectories();
            foreach (FileInfo f in fil)
            {
                if (f.FullName.ToString().Contains(".BMP") || f.FullName.ToString().Contains(".bmp"))
                {
                    FileList.Add(f.FullName);//添加文件路径到列表中 
                }

            }
            //获取子文件夹内的文件列表,递归遍历  
            foreach (DirectoryInfo d in dii)
            {
                GetFileNew(d.FullName, FileList);
            }
            return FileList;
        }

你可能感兴趣的:(C# 批量修改文件夹(包含子文件)的后缀名)