基于C#編寫一個(gè)修改文件時(shí)間屬性的小工具
下面是簡(jiǎn)鹿辦公一個(gè)用 C# 編寫的簡(jiǎn)單工具,它可以批量修改文件的創(chuàng)建時(shí)間、最后訪問時(shí)間和最后修改時(shí)間。我們將使用 .NET Framework 或 .NET Core 來實(shí)現(xiàn)這個(gè)功能。
完整示例代碼
1. 創(chuàng)建一個(gè)新的 C# 控制臺(tái)應(yīng)用程序
您可以使用 Visual Studio 或 .NET CLI 創(chuàng)建一個(gè)新的控制臺(tái)應(yīng)用程序。
2. 編寫代碼
打開 Program.cs 文件,并替換其內(nèi)容為以下代碼:
using System; using System.Collections.Generic; using System.IO; using System.Linq; namespace FileTimeModifier { class Program { static void Main(string[] args) { Console.WriteLine("簡(jiǎn)鹿批量修改文件時(shí)間屬性工具"); // 獲取文件夾路徑 Console.Write("請(qǐng)輸入文件夾路徑: "); 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; } // 獲取新的時(shí)間 Console.Write("請(qǐng)輸入新的日期和時(shí)間 (格式: yyyy-MM-dd HH:mm:ss): "); string dateTimeString = Console.ReadLine(); if (DateTime.TryParse(dateTimeString, out DateTime newDateTime)) { foreach (string file in files) { try { // 修改文件的時(shí)間屬性 File.SetCreationTime(file, newDateTime); File.SetLastAccessTime(file, newDateTime); File.SetLastWriteTime(file, newDateTime); Console.WriteLine($"已修改文件 {file} 的時(shí)間屬性。"); } catch (Exception ex) { Console.WriteLine($"修改文件 {file} 的時(shí)間屬性時(shí)發(fā)生錯(cuò)誤: {ex.Message}"); } } } else { Console.WriteLine("無效的日期和時(shí)間格式。"); } Console.WriteLine("按任意鍵退出..."); Console.ReadKey(); } } }
代碼說明
獲取文件夾路徑:
用戶輸入文件夾路徑,程序會(huì)檢查路徑是否存在。
獲取文件列表:
使用 Directory.GetFiles 方法獲取文件夾中的所有文件。
獲取新的時(shí)間:
用戶輸入新的日期和時(shí)間,程序會(huì)檢查輸入的格式是否正確。
修改文件時(shí)間屬性:
使用 File.SetCreationTime、File.SetLastAccessTime 和 File.SetLastWriteTime 方法分別設(shè)置文件的創(chuàng)建時(shí)間、最后訪問時(shí)間和最后修改時(shí)間。
異常處理:
捕獲并處理可能出現(xiàn)的異常,確保程序的健壯性。
示例運(yùn)行
假設(shè)您有一個(gè)文件夾 C:\TestFolder,里面有一些文件。運(yùn)行程序后,輸入文件夾路徑 C:\TestFolder 和新的日期時(shí)間 2023-10-01 12:00:00,程序?qū)⑴啃薷脑撐募A中所有文件的時(shí)間屬性。
當(dāng)然,如果你覺得自己編寫比較費(fèi)勁,也可以搜索使用簡(jiǎn)鹿文件批量重命名工具,該軟件支持 Windows 和 Mac 系統(tǒng),使用起來更方便快捷。
到此這篇關(guān)于基于C#編寫一個(gè)修改文件時(shí)間屬性的小工具的文章就介紹到這了,更多相關(guān)C#修改文件時(shí)間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在WPF中實(shí)現(xiàn)平滑滾動(dòng)的方法詳解
這篇文章介紹了WPF實(shí)現(xiàn)平滑滾動(dòng)的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06探討:如何使用委托,匿名方法對(duì)集合進(jìn)行萬能排序
本篇文章是對(duì)使用委托,匿名方法對(duì)集合進(jìn)行萬能排序進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06C#實(shí)現(xiàn)的ACCESS數(shù)據(jù)庫操作類完整實(shí)例
這篇文章主要介紹了C#實(shí)現(xiàn)的ACCESS數(shù)據(jù)庫操作類,結(jié)合完整實(shí)例形式分析了C#針對(duì)access數(shù)據(jù)庫增刪改查、事務(wù)、結(jié)果處理等相關(guān)操作技巧,需要的朋友可以參考下2017-05-05C#實(shí)現(xiàn)計(jì)算年齡的簡(jiǎn)單方法匯總
本文給大家分享的是C#代碼實(shí)現(xiàn)的簡(jiǎn)單實(shí)用的給出用戶的出生日期,計(jì)算出用戶的年齡的代碼,另外附上其他網(wǎng)友的方法,算是對(duì)計(jì)算年齡的一次小結(jié),希望大家能夠喜歡。2015-05-05C#?WPF實(shí)現(xiàn)播放音頻文件的示例詳解
這篇文章主要為大家詳細(xì)介紹了利用C#?WPF實(shí)現(xiàn)播放音頻文件的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03c#解析jobject的數(shù)據(jù)結(jié)構(gòu)
這篇文章介紹了c#解析jobject數(shù)據(jù)結(jié)構(gòu)的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07