当前位置: 代码网 > it编程>编程语言>C# > 基于C#编写一个修改文件时间属性的小工具

基于C#编写一个修改文件时间属性的小工具

2024年11月25日 C# 我要评论
下面是简鹿办公一个用 c# 编写的简单工具,它可以批量修改文件的创建时间、最后访问时间和最后修改时间。我们将使用 .net framework 或 .net core 来实现这个功能。完整示例代码1.

下面是简鹿办公一个用 c# 编写的简单工具,它可以批量修改文件的创建时间、最后访问时间和最后修改时间。我们将使用 .net framework 或 .net core 来实现这个功能。

完整示例代码

1. 创建一个新的 c# 控制台应用程序

您可以使用 visual studio 或 .net cli 创建一个新的控制台应用程序。

2. 编写代码

打开 program.cs 文件,并替换其内容为以下代码:

using system;
using system.collections.generic;
using system.io;
using system.linq;
 
namespace filetimemodifier
{
    class program
    {
        static void main(string[] args)
        {
            console.writeline("简鹿批量修改文件时间属性工具");
 
            // 获取文件夹路径
            console.write("请输入文件夹路径: ");
            string folderpath = console.readline();
 
            if (string.isnullorempty(folderpath) || !directory.exists(folderpath))
            {
                console.writeline("无效的文件夹路径。");
                return;
            }
 
            // 获取文件列表
            list<string> files = directory.getfiles(folderpath).tolist();
 
            if (files.count == 0)
            {
                console.writeline("文件夹中没有文件。");
                return;
            }
 
            // 获取新的时间
            console.write("请输入新的日期和时间 (格式: yyyy-mm-dd hh:mm:ss): ");
            string datetimestring = console.readline();
 
            if (datetime.tryparse(datetimestring, out datetime newdatetime))
            {
                foreach (string file in files)
                {
                    try
                    {
                        // 修改文件的时间属性
                        file.setcreationtime(file, newdatetime);
                        file.setlastaccesstime(file, newdatetime);
                        file.setlastwritetime(file, newdatetime);
 
                        console.writeline($"已修改文件 {file} 的时间属性。");
                    }
                    catch (exception ex)
                    {
                        console.writeline($"修改文件 {file} 的时间属性时发生错误: {ex.message}");
                    }
                }
            }
            else
            {
                console.writeline("无效的日期和时间格式。");
            }
 
            console.writeline("按任意键退出...");
            console.readkey();
        }
    }
}

代码说明

获取文件夹路径:

用户输入文件夹路径,程序会检查路径是否存在。

获取文件列表:

使用 directory.getfiles 方法获取文件夹中的所有文件。

获取新的时间:

用户输入新的日期和时间,程序会检查输入的格式是否正确。

修改文件时间属性:

使用 file.setcreationtime、file.setlastaccesstime 和 file.setlastwritetime 方法分别设置文件的创建时间、最后访问时间和最后修改时间。

异常处理:

捕获并处理可能出现的异常,确保程序的健壮性。

示例运行

假设您有一个文件夹 c:\testfolder,里面有一些文件。运行程序后,输入文件夹路径 c:\testfolder 和新的日期时间 2023-10-01 12:00:00,程序将批量修改该文件夹中所有文件的时间属性。

当然,如果你觉得自己编写比较费劲,也可以搜索使用简鹿文件批量重命名工具,该软件支持 windows 和 mac 系统,使用起来更方便快捷。

到此这篇关于基于c#编写一个修改文件时间属性的小工具的文章就介绍到这了,更多相关c#修改文件时间内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

  • C#中桥接模式的具体使用

    C#中桥接模式的具体使用

    在软件开发中,我们经常会遇到需要应对多维度变化的场景,比如在一个图形应用程序中,我们需要支持不同的图形形状(如圆形、方形)以及不同的渲染方式(如矢量图、光栅图)... [阅读全文]
  • C#封装将函数封装为接口dll的简单步骤指南

    C#封装将函数封装为接口dll的简单步骤指南

    前言在c#中,将函数封装为接口并打包成dll(动态链接库)是一种非常常见的做法,用于实现代码的重用和模块化。以下是一个简单的步骤指南,教你如何实现这一点:1. ... [阅读全文]
  • 通过C#代码轻松提取PDF文本

    通过C#代码轻松提取PDF文本

    pdf格式因其跨平台兼容性强、安全性高等特点而被广泛使用。但pdf文档不易编辑,因此提取pdf文档的文本从而进行操作是一个常见的需求。提取pdf中的文本可以帮助... [阅读全文]
  • C# NModbus RTU通信实现方法详解

    modbus协议时应用于电子控制器上的一种通用语言。通过此协议,控制器相互之间、控制器经由网络/串口和其它设备之间可以进行通信。它已经成为了一种工业标准。有了这个通信协议,不同的厂…

    2024年11月25日 编程语言
  • C#使用异步流高效处理序列数据的方法详解

    C#使用异步流高效处理序列数据的方法详解

    引言在现代应用程序开发中,处理大量数据或长时间运行的任务变得越来越常见。传统的同步处理方式可能会导致性能瓶颈和资源浪费。c# 8.0 引入了异步流(async ... [阅读全文]
  • C# 单例模式的多种实现方式

    C# 单例模式的多种实现方式

    单例模式介绍单例模式是一种创建型设计模式,它主要确保在一个类只有一个实例,并提供一个全局访问点来获取该实例。在c#中,有多种方式实现单例模式,每种方式都有其特定... [阅读全文]

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com