写了两个简单的小工具,文件夹文件操作的

一,文件夹A下的文件夹下的文件,移到文件夹A下。

二,经常上贴吧什么的,有些图贴,会直接网页全部保存为,结果是一个html文件,和引用资源的文件夹,文件夹下有很多无用的文件,写了个方法,把图片另存为,其余都删掉。

代码。

namespace 文件夹内容放到上级
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            folderBrowserDialog1.ShowDialog();
            this.textBox1.Text = folderBrowserDialog1.SelectedPath;
        }

        private void button2_Click(object sender, EventArgs e)
        {
            //得到所有的目录
            var a = Directory.GetDirectories(this.textBox1.Text);

            for (int i = 0; i < a.Length; i++)
            {
                //得到目录下的文件
                var b = Directory.GetFiles(a[i]);
                //移动文件到父级
                for (int j = 0; j < b.Length; j++)
                {
                    string filename = GetFileName(b[j].ToString());
                    System.IO.File.Move(b[j], this.textBox1.Text + "\\" + filename);
                }
                //删除该目录
                Directory.Delete(a[i], true);
            }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            //得到所有的文件
            var a = Directory.GetFiles(this.textBox1.Text, "*.htm");

            for (int i = 0; i < a.Length; i++)
            {
                int legth = a[i].Length;
                //文件夹的名称。
                int extlength=4;

                if (a[i].IndexOf("html") > -1) {
                    extlength = 5;
                }
                string dpath = a[i].Substring(0, legth - extlength)+"_files";
                //得到文件夹下的所有图片

                ArrayList allimg = new ArrayList();
                var jpgs = Directory.GetFiles(dpath, "*.jpg");
                for (int jpg = 0; jpg < jpgs.Length; jpg++)
                {
                    long size = new FileInfo(jpgs[jpg]).Length;
                    if (size > 10 * 1024)
                    {
                        allimg.Add(jpgs[jpg]);
                    }

                }
                var gifs = Directory.GetFiles(dpath, "*.gif");
                for (int gif = 0; gif < gifs.Length; gif++)
                {
                    long size = new FileInfo(gifs[gif]).Length;
                    if (size > 80 * 1024)
                    {
                        allimg.Add(gifs[gif]);
                    }
                }

                var bmps = Directory.GetFiles(dpath, "*.bmp");
                for (int bmp = 0; bmp < bmps.Length; bmp++)
                {
                    long size = new FileInfo(bmps[bmp]).Length;
                    if (size > 50 * 1024)
                    {
                        allimg.Add(bmps[bmp]);
                    }
                }

                //创建文件夹
                string newdpaht = a[i].Substring(0, legth - extlength);
                CreateFolder(newdpaht);
                //把图片放到这个文件夹里。

                foreach (var c in allimg)
                {
                    string filename = GetFileName(c.ToString());

                    File.Move(c.ToString(), newdpaht + "\\"+filename);
                }
                // 删除原HTML和文件夹
                File.Delete(a[i]);
                Directory.Delete(dpath,true);
            }
        }/// <summary>
        /// 创建目录路径
        /// </summary>
        /// <param name="folderPath">物理路径</param>
        public static void CreateFolder(string folderPath)
        {
            if (!System.IO.Directory.Exists(folderPath))
                System.IO.Directory.CreateDirectory(folderPath);
        }

        public static string GetFileName( string filePath)
        {
           
                return filePath.Substring(filePath.LastIndexOf("\\") + 1, filePath.Length - filePath.LastIndexOf("\\") - 1);
        }
    }
}
原文地址:https://www.cnblogs.com/zihunqingxin/p/3200454.html