专业网站建设品牌,17年专业建站经验,服务6000+客户--广州松河
免费热线:400-963-0016
微信咨询
|
联系我们
扫二维码关注公众号
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
网站首页
网站建设
短视频
网站推广
网站模板
客户案例
资讯动态
关于我们
位置:
广州松河
>
技术支持
> C#定期删除日志文件
C#定期删除日志文件
来源:网络整理 时间:2023/2/14 1:09:08 共
3687
浏览
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace DelFile
{
class Program
{
[STAThread]//加这个执行不弹出黑框,同时需要将项目的输出类型改为Windows应用程序,来实现无感执行
static void Main(string[] args)
{
//Console.WriteLine("Hello World!");
DeleteFile(@"E:\db_backup\", 1); //删除该目录下 超过 7天的文件
//Console.ReadKey();
}
private static void DeleteFile(string fileDirect, int saveDay)
{
try
{
DateTime nowTime = DateTime.Now;
string[] files = Directory.GetFiles(fileDirect, "*.trn", SearchOption.AllDirectories); //获取该目录下所有 .txt文件
foreach (string file in files)
{
FileInfo fileInfo = new FileInfo(file);
TimeSpan t = DateTime.Now - fileInfo.CreationTime; //当前时间 减去 文件创建时间
int day = t.Days;
if (day >= saveDay) //保存的时间,单位:天
{
if (IsOccupy(fileInfo.FullName)) //判断文件是否被占用
{
System.IO.File.Delete(fileInfo.FullName); //删除文件
Console.WriteLine($"成功删除文件:{fileInfo.FullName},时间:{DateTime.Now}");
}
else
{
//Logger.Info("文件被占用,无法操作!");
}
}
}
}
catch (Exception err)
{
throw;
}
}
[DllImport("kernel32.dll")]
public static extern IntPtr _lopen(string lpPathName, int iReadWrite);
[DllImport("kernel32.dll")]
public static extern bool CloseHandle(IntPtr hObject);
public const int OF_READWRITE = 2;
public const int OF_SHARE_DENY_NONE = 0x40;
public static readonly IntPtr HFILE_ERROR = new IntPtr(-1);
/// <summary>
/// 判断文件是否被占用
/// </summary>
/// <param name="file"></param>
/// <returns></returns>
private static bool IsOccupy(string file)
{
bool result = true; //默认状态此文件未被占用
try
{
//string vFileName = @"c:\temp\temp.bmp";
string vFileName = file;
if (!System.IO.File.Exists(vFileName))
{
//Logger.Info("文件都不存在!");
result = false;
}
IntPtr vHandle = _lopen(vFileName, OF_READWRITE | OF_SHARE_DENY_NONE);
if (vHandle == HFILE_ERROR)
{
//Logger.Info("文件被占用!");
result = false;
}
CloseHandle(vHandle);
//Logger.Info("没有被占用!");
}
catch (Exception err)
{
result = false;
//Logger.Error(err);
}
return result;
}
}
}
版权说明:
本网站凡注明“广州松河 原创”的皆为本站原创文章,如需转载请注明出处!
本网转载皆注明出处,遵循行业规范,如发现作品内容版权或其它问题的,请与我们联系处理!
欢迎扫描右侧微信二维码与我们联系。
相关主题:
网站建设信超速云建站
网站建设 联系推来客网络
上海最专业的网站建设
电商网站建设的方案
手机凉都网网站建设
湖南企业网站建设电话
门头沟网站优化建设
海淀小企业网站建设
在线数据库网站建设
网销营销型网站建设
·上一条:
SQL Server 远程跨数据库服务器查询、导入数据(SQL)
|
·下一条:
C# ASP.NET MVC 微信和支付宝H5支付开发及Demo
同类资讯
天正标注样式怎样修改_CSS学习
前端大神都用什么做ppt_CSS学习
如何在前端网页中调用第三方地图API_CSS学习
CAD运行805插件提示_CSS学习
js创建简单的css选择器,如何在一个月之内从零基础成为初级CSS前端开
兄弟节点css选择器,伪类选择器和伪元素选择器的区别_CSS学习
简述css选择器优先级,CSS样式的方式和特点是什么_CSS学习
css高级选择器介绍,css派生器区别是什么_CSS学习
css选择器在设计中的作用,智能感知的意义_CSS学习
css常用选择器图片,元素选择器的权值规则是哪些_CSS学习
css中各种高级选择器的介绍,CSS的类选择器和id选择器各有什么优势_
css选择器集锦,css调试工具_CSS学习
css3中伪类选择器6,做前端开发主要学些什么_CSS学习
html中css高级选择器,css派生器区别是什么_CSS学习
css背景色用什么选择器,招牌和导航栏的两边用红圈圈起来的蓝色地带怎么和
css基础选择器的优先顺序是,css的优先级怎么判断_CSS学习
写出css中选择器的优先顺序,css层次选择器怎么用_CSS学习
vscode css选择器,dw和vscode区别_CSS学习
css3选择器self,css层次选择器怎么用_CSS学习
css的三种简单选择器,css元素定位工具_CSS学习
资讯动态
公司新闻
互联网资讯
电商资讯
优化推广
技术支持
关于我们
公司简介
企业文化
服务项目
公司新闻
服务项目
网站建设
网站推广
品牌策划
移动应用
服务支持
在线咨询
服务流程
产品报价
售后服务
联系我们
代理加盟
付款方式
在线留言
联系方式
联系方式
电话:400-963-0016
邮箱:sales@itwy.com
QQ:250211130
微信:18520775521
Copyright © 广州松河信息科技有限公司 2005-2025 版权所有
粤ICP备16019765号
广州松河信息科技有限公司 版权所有
18520775521
QQ洽谈
sales@itwy.com