很多朋友从网上下载了大量的文件,文件命名都是相似的,如果要批量改名字,太麻烦了。
文件列表
这里为大家开源我自己写的一个.net-winform程序。先上截图,
介绍一下第一步
选择文件夹
第二步
显示当前文件夹里面的文件列表
第三步 设定名称结构,命名分2部分,参考截图
第四步:名字修改完成
[C#] 纯文本查看 复制代码 /// <summary>
/// 选择目录
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnSelectFolder_Click(object sender, EventArgs e)
{
FolderBrowserDialog dialog = new FolderBrowserDialog();
dialog.Description = "请选择文件路径";
string foldPath = "";
if (dialog.ShowDialog() == DialogResult.OK)
{
foldPath = dialog.SelectedPath + @"\";
}
txtFolder.Text = foldPath;
if (foldPath != "") {
//清空原来的list列表
if (lstFile.Items.Count > 0) {
lstFile.Items.Clear();
}
}
getFile(foldPath);
}//
/// <summary>
/// 获得目录下所有文件或指定文件类型文件(包含所有子文件夹)
/// </summary>
/// <param name="path">文件夹路径</param>
/// <param name="extName">扩展名可以多个 例如 .mp3.wma.rm</param>
/// <returns>List<FileInfo></returns>
public List<FileInfo> getFile(string path)
{
getdir(path);
label1.Text = "共有:"+ lst.Count + "文件";
for (int i = 0; i < lst.Count; i++) {
lstFile.Items.Add(lst[i]);
}
return lst;
}
/// <summary>
/// 私有方法,递归获取指定类型文件,包含子文件夹
/// </summary>
/// <param name="path"></param>
/// <param name="extName"></param>
private static void getdir(string path)
{
try
{
string[] dir = Directory.GetDirectories(path); //文件夹列表
DirectoryInfo fdir = new DirectoryInfo(path);
FileInfo[] file = fdir.GetFiles();
//FileInfo[] file = Directory.GetFiles(path); //文件列表
if (file.Length != 0 || dir.Length != 0) //当前目录文件或文件夹不为空
{
foreach (FileInfo f in file) //显示当前目录所有文件
{
lst.Add(f);
}
foreach (string d in dir)
{
getdir(d);//递归
}
}
}
catch (Exception ex)
{
throw ex;
}
}
/// <summary>
/// 开始批量改名字
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnStart_Click(object sender, EventArgs e)
{
string strStart = txtStart.Text;
string strEnd = txtEnd.Text;
string strBott = "000";
for (int i = 0; i < lstFile.Items.Count; i++) {
string tmp = txtFolder.Text+lstFile.Items[i].ToString();
string exName = Path.GetExtension(tmp);//扩展名
if (File.Exists(tmp))
{
try
{
File.Move(tmp, txtFolder.Text + strStart + "-" + strEnd + strBott + (i + 1).ToString() + exName);
}
catch (Exception ex)
{
statusStrip1.Text = "出错:"+tmp +"。原因:"+ ex;
}
}
}
MessageBox.Show("文件名改完了");
}
非常适合做xianyu,做二手文件的朋友。代码非常简单。没有后门。欢迎大家提意见啊。
|