现在我遇到一个对我这个菜鸟来说巨难的问题:d:\>myfiles目录下面有大量的doc文件,而且都是按照时间来命名的,比如 200407120925.doc,现在我需要把其中的07改成10,如何做啊?也就是说,通过asp.net + C# 能实现吗?就是我的程序需要去遍历myfiles文件夹,通过for循环去逐个修改名字,其实应该不难的,大侠给我个思路,如果有程序更好!谢谢啊,急!!!
调试欢乐多
foreach ( string str in dir)
{
FileInfo f = new FileInfo(str);
if ( f.Exists )
{
MessageBox.Show(f.Name);
f.CopyTo(path+新文件名);
f.Delete();
}
}
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.IO;
namespace 更名程序
{
/// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
private System.Windows.Forms.ListBox listBox1;
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.Container components = null; public Form1()
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent(); //
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
} /// <summary>
/// 清理所有正在使用的资源。
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
} #region Windows 窗体设计器生成的代码
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.listBox1 = new System.Windows.Forms.ListBox();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(136, 184);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(104, 32);
this.button1.TabIndex = 0;
this.button1.Text = "Start";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// listBox1
//
this.listBox1.HorizontalScrollbar = true;
this.listBox1.ItemHeight = 12;
this.listBox1.Location = new System.Drawing.Point(72, 8);
this.listBox1.Name = "listBox1";
this.listBox1.ScrollAlwaysVisible = true;
this.listBox1.Size = new System.Drawing.Size(240, 160);
this.listBox1.TabIndex = 1;
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
this.ClientSize = new System.Drawing.Size(384, 221);
this.Controls.Add(this.listBox1);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Form1";
this.ResumeLayout(false); }
#endregion /// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
} private void button1_Click(object sender, System.EventArgs e)
{
DirectoryInfo di = new DirectoryInfo(Application.StartupPath.Trim ());
foreach(FileInfo f in di.GetFiles())
{
if(Path.GetExtension(f.ToString())==".doc")
{
if(f.ToString().Substring(4,2)=="07")
{
listBox1.Items.Add("发现文件:"+f.ToString());
string newFileName=f.ToString().Substring(0,4)+//最前四个字符
"10"+
f.ToString().Substring(6);
f.MoveTo(newFileName);
listBox1.Items.Add("改名后文件:"+newFileName);
}
}
}
}
}
}
{
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
string [] files=Directory.GetFiles("c:\\","*.txt");
for (int counter=0;counter<files.Length-1;counter++)
{
string tmpFile=files[counter];
FileInfo myFile=new FileInfo(tmpFile);
string name=tmpFile.Substring(tmpFile.LastIndexOf("\\"));
name=name.Remove(5,1);
name=name.Insert(5,"10");
myFile.MoveTo(tmpFile.Substring(0,tmpFile.LastIndexOf("\\"))+name);
}
}