如何使用 C# 编写一个修改文件时间属性的小工具?

news2024/11/25 11:04:29

下面是简鹿办公一个用 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 系统,使用起来更方便快捷。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2237927.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用FTP与多个合作伙伴传文件,如何处理运维管理和数据安全问题

许多行业的企业使用FTP与外部客户、供应商等合作伙伴进行文件交换&#xff0c;如大型保险公司、研究所、IC设计企业、汽车制造厂商等。基于FTP可以满足企业与外部合作伙伴文件收发的基础需求&#xff0c;但在IT运维管理、数据安全保障及业务便利性上仍存在不同程度的缺陷和不足…

Simulink中Matlab function使用全局变量

目录 一. 引言二. 普通Matlab function使用全局变量三. Simulink中的Matlab function使用全局变量四. 如何利用Matlab function的全局变量施加随机噪声 一. 引言 最近发现了之前仿真中的一个问题&#xff0c;记录一下备忘。 Matlab function中有时候需要用到全局变量&#xf…

Jmeter的安装,设置中文,解决乱码问题

1.Jmeter安装 1-Jmeter如何下载 1---我这里提供一个下载快的方式 https://www.123684.com/s/lWZKVv-4jiav?提取码:4x4y 2---Jmeter官网下载地址 Apache JMeter - Download Apache JMeter 2-配置java环境 1---下载javaJDK 官方下载地址 https://www.oracle.com/java/techno…

深 度 学 习

神经网络基础 一、逻辑回归( Logic Regression ) 1 问题的模型 模型&#xff1a; 其中xx为输入量&#xff0c;y^​预测量&#xff0c;σ()激活函数。   逻辑回归主要用于二分类问题的拟合&#xff1a;0≤y^P(y1∣x)≤1&#xff0c;σ(z)如图&#xff1a; ​ 问题&#xff…

华为OD机试 - 最低位排序 - 数组(Java 2024 E卷 100分)

华为OD机试 2024E卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff08;JAVA&#xff09;真题&#xff08;E卷D卷A卷B卷C卷&#xff09;》。 刷的越多&#xff0c;抽中的概率越大&#xff0c;私信哪吒&#xff0c;备注华为OD&#xff0c;加…

C语言:文件操作2(又一万字?)

关于文件操作这章内容&#xff0c;因为知道内容较多所以我分两篇发了&#xff0c;但是还是没料到第二篇还是这么多&#xff0c;达到了一万多字&#xff01;&#xff01;&#xff01;作者本人真的将知识点进行了超级详解分析并且举了很多例子来帮助读者理解&#xff0c;本文章较…

RabbitMQ队列详细属性(重要)

RabbitMQ队列详细属性 1、队列的属性介绍1.1、Type&#xff1a;队列类型1.2、Name&#xff1a;队列名称1.3、Durability&#xff1a;声明队列是否持久化1.4、Auto delete&#xff1a; 是否自动删除1.5、Exclusive&#xff1a;1.6、Arguments&#xff1a;队列的其他属性&#xf…

【大模型】相比现有智能体(Agent)系统,微软新推出的 Magnetic-One 值得一看吗?

微软最近发布的Magnetic-One智能体系统在开源社区引发了广泛关注&#xff0c;因其在性能、灵活性和扩展性方面表现出色&#xff0c;被誉为目前开源社区最强的智能体解决方案。本文将从评测结果、工作原理、与现有智能体系统的比较三个方面&#xff0c;全面解析Magnetic-One的独…

C++——左值和右值的本质区别

左值和右值好干嘛&#xff1f; 深入理解左值和右值可以帮助我们对代码进行优化 一、什么是左值和右值 左值&#xff1a;有某种存储支持的变量 右值&#xff1a;临时值&#xff08;字面量、函数的结果&#xff09; Ⅰ右值是字面量 int yy 22;22本身就是一个临时的&#xf…

Rust-AOP编程实战

文章本天成,妙手偶得之。粹然无疵瑕,岂复须人为?君看古彝器,巧拙两无施。汉最近先秦,固已殊淳漓。胡部何为者,豪竹杂哀丝。后夔不复作,千载谁与期? ——《文章》宋陆游 【哲理】文章本是不加人工,天然而成的,是技艺高超的人在偶然间所得到的。其实作者所说的“天成”…

深入了解支持向量机:机器学习中的经典算法

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

第01章 Linux概述及系统环境搭建

目标: ◆ 知道 Linux 是什么&#xff1f;有什么特点&#xff1f; ◆ 知道 Linux 内核及发行版的区别 ◆ 知道 Linux 的应用领域 ◆ 能够在虚拟机软件上新建虚拟机 ◆ 能够在虚拟机中挂载CentOS6.7光盘镜像 ◆ 能够根据需求安装CentOS6.7的操作系统 ◆ 能够对系统进行登录和关闭…

【题解】—— LeetCode一周小结45

&#x1f31f;欢迎来到 我的博客 —— 探索技术的无限可能&#xff01; &#x1f31f;博客的简介&#xff08;文章目录&#xff09; 【题解】—— 每日一道题目栏 上接&#xff1a;【题解】—— LeetCode一周小结44 4.平方数之和 题目链接&#xff1a;633. 平方数之和 给定一…

Python爬虫基础-正则表达式!

前言 正则表达式是对字符串的一种逻辑公式&#xff0c;用事先定义好的一些特定字符、及这些特定字符的组合&#xff0c;组成一个“规则的字符串”&#xff0c;此字符串用来表示对字符串的一种“过滤”逻辑。正在在很多开发语言中都存在&#xff0c;而非python独有。对其知识点…

kdump 应该怎么安装 linux-crashdump kdump-tools

sudo apt install linux-crashdump sudo apt install crash sudo apt install kdump-tools 1. 两个工具的关系 linux-crashdump kdump-tools 在 Ubuntu 上安装 kdump 功能&#xff0c;这两个包都是相关的&#xff0c;但有不同的作用. linux-crashdump 是一个元包&#xff08;…

STM32F405RGT6单片机原理图、PCB免费分享

大学时机创比赛时画的板子&#xff0c;比到一半因为疫情回家&#xff0c;无后续&#xff0c;&#xff0c;&#xff0c;已打板验证过&#xff0c;使用stm32f405rgt6做主控 下载文件资源如下 原理图文件 pcb文件 外壳模型文件 stm32f405例程 功能 以下功能全部验证通过 4路…

2024-11-01 - 统一身份认证 - OpenLdap - 中间件 - 流雨声

摘要 2024-11-01 周五 杭州 暴雨 调查问卷: https://www.wjx.cn/vm/exIBFDM.aspx# 2024年转瞬即逝&#xff0c;可是生活还在继续&#xff0c;这里有一项关于人工智能和项目管理对于效能关系的调研问卷&#xff0c;AI 对工作的作用和影响。问卷不采集个人信息&#xff0c;在此…

基于微信小程序的电商平台+LW示例参考

1.项目介绍 系统角色&#xff1a;管理员、普通用户功能模块&#xff1a;管理员&#xff08;用户管理、商品分类、商品管理、订单管理、系统管理等&#xff09;&#xff0c;普通用户&#xff08;个人中心、收藏、我的订单、查看商品等&#xff09;技术选型&#xff1a;SpringBo…

python读取word的自动编号以及添加自动编号

目录 1、读取编号 读取示例 如何判断段落是否有自动编号呢&#xff1f; 如何区分不同的类型编号呢&#xff1f; 2、添加自动编号 有的时候需要提取word中带自动编号的信息。对于word中的文字很多第三方的库都可以搞定&#xff0c;但是&#xff0c;提取格式&#xff0c;可能…

ImportError: cannot import name ‘packaging‘ from ‘pkg_resources‘ 的参考解决方法

文章目录 写在前面一、问题描述二、解决方法参考链接 写在前面 自己的测试环境&#xff1a; Ubuntu20.04 ROS-Noetic 一、问题描述 自己在通过 pip install 安装module时 &#xff08;使用的是 pip install mmcv&#xff09;遇到如下问题&#xff1a; ImportError: cannot …