65.9K
CodeProject 正在变化。 阅读更多。
Home

更改文件属性,例如创建日期、修改日期和上次访问日期

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.35/5 (6投票s)

2007 年 10 月 23 日

1分钟阅读

viewsIcon

38475

downloadIcon

1011

这个应用程序可以帮助更改文件属性,例如创建日期、修改日期和上次访问日期。

引言

这个应用程序将帮助那些想要更改文件属性(例如创建日期、修改日期和上次访问日期)的人。

背景

我也一直在寻找一个实用工具,它可以帮助我更改任何文件的属性,例如创建日期、修改日期和上次访问日期。我找到很多,但唯一的问题是,如果我使用这些应用程序更改文件的日期,它会添加文本,例如“此日期已使用某某应用程序更改”。我做了更多的研究,最终找到了这个解决方案。

使用代码

基本上,要更改这些文件属性,我们需要包含以下命名空间。

//using System.IO;

为了开发这个应用程序,我们需要打开文件对话框,它将提供带有其物理位置的文件名。然后,此文件作为参数传递给 FileInfo,它提供与文件相关的所有属性。FileInfo 提供了获取和设置某些属性(例如创建日期、修改日期和上次访问日期)的功能。

 private void button1_Click(object sender, EventArgs e)
        {
            openFileDialog1.ShowDialog();
            txtFileName.Text = openFileDialog1.FileName;
            if (txtFileName.Text.Trim() != "")
            {
                string fn = openFileDialog1.FileName;
                FileInfo fileIn = new FileInfo(fn);
                lblOriCreationDate.Text = fileIn.CreationTime.ToString();
                lblOrigModifiedDate.Text = fileIn.LastWriteTime.ToString();
                lblOrigLastAccessDate.Text = fileIn.LastAccessTime.ToString();
                pnlChangingAtt.Visible = true;
            }
        }

在 button1_Click 上,打开文件对话框,然后选择文件。它将在 textBox 中显示文件名及其各自的日期。现在,我们想要更改日期,只需从各自的 DateTimePicker 中选择日期,然后单击“更改”。这将更改所有相应的日期,并在“更改后的文件信息”下方显示它。

在内部,在 button1_Click 上,它将获取文件名,并基于该文件名获取 FileInfo。

 private void btnChange_Click(object sender, EventArgs e)
        {
            if (txtFileName.Text.Trim() != "")
            {
                string fn = openFileDialog1.FileName;
                FileInfo fileIn = new FileInfo(fn);
                ChangeFileAttribute(fileIn);
                MessageBox.Show("File information has been changed");
            }
        }
        public void ChangeFileAttribute(FileInfo Fln)
        {
            Fln.CreationTime =dtpCreationDate.Value.Date;
            Fln.LastWriteTime = dtpModification.Value.Date;
            Fln.LastAccessTime=dtpLastAccessDate.Value.Date;
            lblChangedCreated.Text = Fln.CreationTime.ToString();
            lblChangedModified.Text = Fln.LastWriteTime.ToString();
            lblChangedAccessDate.Text = Fln.LastAccessTime.ToString();
 
        }

获取 FileInfo 后,只需获取相应的属性,如 CreationTimeLastWriteTimeLastAccessTime,并将这些属性设置为所需的日期。

© . All rights reserved.