using System; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Text; using System.Text.RegularExpressions; using System.Windows.Forms; namespace WindowsFormsApplication5 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public string s; /// <summary> /// 枚举文件夹内容 /// </summary> /// <param name="lv">输入参数,判别在哪个ListView中显示</param> public void meiju(ListView lv) { if (!string.IsNullOrEmpty(textBox1.Text))//判断文本框中是否有内容 { List<string> st = new List<string>(); foreach (string file in Directory.GetFiles(textBox1.Text))//获取指定目录下的文件名称,不包括文件夹 { st.Add(file); //MessageBox.Show(file); } lv.Columns.Clear(); lv.Columns.Add("文件名", 400); lv.Items.Clear(); for (int i = 0; i < st.Count; i++) { lv.Items.Add(new ListViewItem(new string[] { st[i] }));//遍历文件夹内文件 } } } private void button1_Click(object sender, EventArgs e) { meiju(listView1); } private void button2_Click(object sender, EventArgs e) { DialogResult isok = folderBrowserDialog1.ShowDialog(); if (isok == DialogResult.OK) { s = folderBrowserDialog1.SelectedPath;//显示选中的哪个文件夹 textBox1.Text = s; } } private void buttonX_Click(object sender, EventArgs e) { //string path = listView1.SelectedItems[0].Text; //MessageBox.Show(path); ////string[] sd = Directory.GetDirectories(textBox1.Text);//能获取到指定目录下的文件夹名称 //string[] sd = Directory.GetFiles(textBox1.Text); //MessageBox.Show(sd[1]); //string sdname = Path.GetFileName(sd[0]);//获取文件的名称,没有路径,直接是文件名称 //MessageBox.Show(sdname); //string sdname1 = Path.GetPathRoot(sd[0]);//获取根目录,也就是盘符 //MessageBox.Show(sdname1); //string sdname2 = Path.GetDirectoryName(sd[0]);//获取父级文件夹的路径信息 //MessageBox.Show(sdname2); //string OldStr = sdname2 +@""+ sdname; //MessageBox.Show(OldStr); //string NewStr = sdname2 + @"" + textBox2.Text; //FileInfo fi = new FileInfo(OldStr); //fi.MoveTo(NewStr);//将制定文件移动到新位置,并提供新的文件名 //Path.GetExtension();//获取文件的扩展名 Xupdate(); meiju(listView2); } public void RenameDirectories(string OldPathName, string newPathName) { int i = 1; string[] sDirectories = Directory.GetDirectories(OldPathName); foreach (string sd in sDirectories) { string sdName = Path.GetFileName(sd);//获取文件的名称,没有路径,直接是文件名称 string sNewName = string.Format(newPathName, i++);//替换,string.Format(a{0},b{1},p1,p2) 输出结果为 a p1,b p2 string sNewDirectory = Path.Combine(OldPathName, sNewName);//将两个字符串合并 Directory.Move(sd, sNewDirectory);//重命名文件或移动文件到新的位置 } } private void buttonD_Click(object sender, EventArgs e) { //for (int i = 0; i < listView1.SelectedItems.Count; i++)//鼠标选择的所有项 //{ // MessageBox.Show(listView1.SelectedItems[i].Text); //} Dupdate(); meiju(listView2); } /// <summary> /// 单个修改文件函数 /// </summary> public void Dupdate() { if (listView1.SelectedItems != null) { string path = listView1.SelectedItems[0].Text;//选中的项 string fname = Path.GetDirectoryName(path);//获取选中文件所在的目录路径 string bname = Path.GetFileName(path);//获取选中文件的文件名称(包含后缀如.txt) string kname = Path.GetExtension(path);//获取选中文件的后缀名称 string OldStr = fname + @"" + bname; string NewStr = fname + @"" + textBox2.Text + kname; FileInfo fi = new FileInfo(OldStr); fi.MoveTo(NewStr);//将制定文件移动到新位置,并提供新的文件名 } } public void Xupdate() { List<string> lt = new List<string>(); if (listView1.SelectedItems != null) { for (int i = 0; i < listView1.SelectedItems.Count; i++) { string sp = listView1.SelectedItems[i].Text; lt.Add(sp); } for (int i = 0; i < lt.Count; i++) { string path = lt[i]; string OldStr = Path.GetDirectoryName(path) + @"" + Path.GetFileName(path); string NewStr = Path.GetDirectoryName(path) + @"" + textBox2.Text + i.ToString() + Path.GetExtension(path); FileInfo fi = new FileInfo(OldStr); fi.MoveTo(NewStr);//将制定文件移动到新位置,并提供新的文件名 } } } public void Zupdate() { int i = 0; if (Directory.GetFiles(textBox1.Text) != null) { foreach (string file in Directory.GetFiles(textBox1.Text))//获取指定目录下的文件名称,不包括文件夹 { string OldStr = Path.GetDirectoryName(file) + @"" + Path.GetFileName(file); string NewStr = Path.GetDirectoryName(file) + @"" + textBox2.Text + i.ToString() + Path.GetExtension(file); //MessageBox.Show(Path.GetExtension(file)); //MessageBox.Show(NewStr); FileInfo fi = new FileInfo(OldStr); fi.MoveTo(NewStr);//将制定文件移动到新位置,并提供新的文件名 i++; } } } private void buttonZ_Click(object sender, EventArgs e) { Zupdate(); meiju(listView2); } } }