一,文件夹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);}} }