C#文件和目录的操作

 

根据文件名获取文件

复制代码
 1  /// <summary>
 2         /// 根据文件名获取文件
 3         /// </summary>
 4         /// <param name="directory"></param>
 5         /// <param name="fileName"></param>
 6         /// <param name="searchOption"></param>
 7         /// <returns></returns>
 8         private FileInfo[] GetFile(string directory, string fileName, SearchOption searchOption)
 9         {
10             DirectoryInfo directoryInfo = new DirectoryInfo(directory);
11             if (!directoryInfo.Exists)
12                 return null;
13 
14             return directoryInfo.GetFiles(fileName, searchOption);
15         }
View Code
复制代码

删除过期目录

复制代码
 1 /// <summary>
 2         /// 删除过期目录
 3         /// </summary>
 4         /// <param name="directory">根目录</param>
 5         /// <param name="day">期限</param>
 6         /// <returns></returns>
 7         private int DelectOverdueDirectorys(string directory, int day)
 8         {
 9             DirectoryInfo directoryInfoRoot = new DirectoryInfo(directory);
10             if (!directoryInfoRoot.Exists)
11                 return 1;
12 
13             DirectoryInfo[] directoryInfos = directoryInfoRoot.GetDirectories();
14             foreach (var directoryInfo in directoryInfos)
15             {
16                 if (DateTime.Now.Subtract(directoryInfo.CreationTime).TotalDays > day)
17                     directoryInfo.Delete(true);
18             }
19 
20             return 0;
21         }
View Code
复制代码

删除过期文件

复制代码
 1 /// <summary>
 2         /// 删除过期文件
 3         /// </summary>
 4         /// <param name="directory">根目录</param>
 5         /// <param name="day">期限</param>
 6         /// <returns></returns>
 7         private int DelectOverdueFiles(string directory, int day)
 8         {
 9             DirectoryInfo directoryInfoRoot = new DirectoryInfo(directory);
10             if (!directoryInfoRoot.Exists)
11                 return 1;
12 
13             FileInfo[] fileInfos = directoryInfoRoot.GetFiles();
14             foreach (var fileInfo in fileInfos)
15             {
16                 if (DateTime.Now.Subtract(fileInfo.CreationTime).TotalDays > day)
17                     fileInfo.Delete();
18             }
19 
20             return 0;
21         }
View Code
复制代码

设置目录隐藏

复制代码
 1 /// <summary>
 2         /// 设置目录隐藏
 3         /// </summary>
 4         /// <param name="directory"></param>
 5         /// <returns></returns>
 6         private int SetDirectoryHide(string directory)
 7         {
 8             DirectoryInfo directoryInfo = new DirectoryInfo(directory);
 9             if (!directoryInfo.Exists)
10                 return 1;
11 
12             directoryInfo.Attributes = FileAttributes.Hidden;
13             return 0;
14         }
View Code
复制代码

目录加解锁

复制代码
 1 string FileExtend = ".{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}";
 2 
 3         /// <summary>
 4         /// 目录加锁
 5         /// </summary>
 6         /// <param name="directory"></param>
 7         /// <returns></returns>
 8         private int DirectoryEncrypt(string directory)
 9         {
10             DirectoryInfo directoryInfo = new DirectoryInfo(directory);
11             if (!directoryInfo.Exists)
12                 return 1;
13 
14             directoryInfo.MoveTo(directory + FileExtend);
15             return 0;
16         }
17 
18         /// <summary>
19         /// 目录解锁
20         /// </summary>
21         /// <param name="directory"></param>
22         /// <returns></returns>
23         private int DirectoryDecrypt(string directory)
24         {
25             DirectoryInfo directoryInfo = new DirectoryInfo(directory + FileExtend);
26             if (!directoryInfo.Exists)
27                 return 1;
28 
29             directoryInfo.MoveTo(directory);
30             return 0;
31         }
View Code
复制代码

 

posted @   翻白眼的哈士奇  阅读(120)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
历史上的今天:
2017-04-17 vs code 提示快捷键
2017-04-17 HttpWebRequest,HttpWebResponse 使用
点击右上角即可分享
微信分享提示