公司有编辑部同事要求写个小程序,能把几百张图片按照一定的规则命名。根据要求,写了一个小程序。这里的规则是死的,没有考虑很多种要求。
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace 批量修改文件名称 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //实例化文件夹选择对话框 FolderBrowserDialog fb = new FolderBrowserDialog(); private void btnSelect_Click(object sender, EventArgs e) { //选择路径 if (fb.ShowDialog() == DialogResult.OK) { txtFolder.Text = fb.SelectedPath.ToString(); txtFolder.ForeColor = Color.Black; } } //定义路径 string sDir; //定义文件夹下文件数组 string[] sFiles; //定义新文件名末尾编号 int num; private void btnRename_Click(object sender, EventArgs e) { sDir=txtFolder.Text; //活的文件夹下所有文件 try { //在此捕获错误,防止用户输入错误的路径。 sFiles = System.IO.Directory.GetFiles(sDir); } catch { MessageBox.Show("路径不对,请重新选择!"); txtFolder.Select(); return; } num = Convert.ToInt32(txtNum.Text); //重命名文件 for(int i=0;i<sFiles.Length;i++) { //获取原文件扩展名 string ext = sFiles[i].Substring(sFiles[i].LastIndexOf(‘.‘)); //重命名文件 File.Move(sFiles[i],sDir+ "\\" +txtName.Text+num+ext); //输出文件到列表 lbOutput.Items.Add(sDir + "\\" + txtName.Text + num+ ext); //刷新列表框 lbOutput.Update(); num++; } } //事件,只允许用于输入数字 private void txtNum_KeyPress(object sender, KeyPressEventArgs e) { txtNum.ForeColor = Color.Black; if (e.KeyChar < ‘0‘ || e.KeyChar > ‘9‘) { e.Handled = true; MessageBox.Show("这里只能输入数字"); } if (e.KeyChar == 46) { if (txtNum.Text.IndexOf(".") == -1) { if (txtNum.SelectionStart > 0) { e.Handled = false; } } } if (e.KeyChar == 8) { e.Handled = false; } } private void txtName_KeyPress(object sender, KeyPressEventArgs e) { //当用户在文本框中输入内容时,输入内容颜色是黑色.因为默认颜色是灰色.其中默认文字是提醒文字.以下类同. txtName.ForeColor = Color.Black; } private void txtFolder_KeyPress(object sender, KeyPressEventArgs e) { txtFolder.ForeColor = Color.Black; } private void Form1_Load(object sender, EventArgs e) { //程序初始化时,默认选择该按钮 btnSelect.Select(); } private void txtFolder_MouseClick(object sender, MouseEventArgs e) { //档鼠标点击该控件时,进行判断,是否要删除默认内容。 if (txtFolder.Text == "输入文件夹路径或点击“选择文件夹”按钮选择") { txtFolder.Text = ""; } } private void txtName_MouseClick(object sender, MouseEventArgs e) { //档鼠标点击该控件时,进行判断,是否要删除默认内容。 if (txtName.Text == "输入文件名") { txtName.Text = ""; } } private void txtNum_MouseClick(object sender, MouseEventArgs e) { //档鼠标点击该控件时,进行判断,是否要删除默认内容。 if (txtNum.Text == "输入编号") { txtNum.Text = ""; } } } }
c#开发:批量修改文件名称
时间: 2024-12-20 23:37:19