1. 程式人生 > >Windows 中刪除某一資料夾下某一時間前建立的檔案.

Windows 中刪除某一資料夾下某一時間前建立的檔案.

注:  文章內容來源於網路: 

#include <sys/stat.h> 
void DelteOldFiles()
{
	char path[256];
	GetModuleFileNameA(NULL,path,sizeof(path));
	std::string strFullPath =path;
	std::string curPath = strFullPath.substr(0,strFullPath.rfind("\\")+1);
	std::string strSourceDir= (curPath+"Log\\*.*").c_str();
	std::string strPrefix  = curPath+"Log\\";

	const int SECONDS_OF_DAY= 86400;
	time_t curSecond = time(0); 

	struct _stat buf;
	_finddata_t file; 
	long longf; 
	if((longf = _findfirst(strSourceDir.c_str(), &file))==-1l) 
	{ 
		return ;
	} 
	else 
	{ 
		std::string tempName; 
		while( _findnext(longf, &file ) == 0) 
		{ 
			tempName = ""; 
			tempName = file.name; 
			int result = _stat((strPrefix+tempName).c_str(),&buf);
			int createSecond = buf.st_atime;
			int span = curSecond - createSecond;
			/*刪除 10天前建立的檔案*/
			if (span>SECONDS_OF_DAY*10 && (tempName != "."||tempName !=".."))
			{
				DeleteFileA((strPrefix+tempName).c_str());
				printf("this is old file\n");
			}
			if (tempName == "..") 
			{ 
				continue; 
			} 
		}
	}

	 _findclose(longf); 
}


這個實現的目標是 刪除程式exe目錄下log資料夾中10天前的檔案,也就是比較老的log檔案.

相關推薦

Windows 刪除資料一時間建立檔案.

注:  文章內容來源於網路:  #include <sys/stat.h> void DelteOldFiles() { char path[256]; GetModuleFileNameA(NULL,path,sizeof(path)); std::s

利用C++獲取資料的所有檔名,並獲取不帶字尾的檔名字

來源:https://www.cnblogs.com/fnlingnzb-learner/p/6424563.html 那麼到底如何查詢檔案呢?我們需要一個結構體和幾個大家可能不太熟悉的函式。這些函式和結構體在<io.h>的標頭檔案中, 結構體為struct _finddata_t

Python 統計資料檔案數量

#統計資料夾下檔案的數目 import os DIR = '/tmp' #要統計的資料夾 print len([name for name in os.listdir(DIR) if os.path

nodejs 統計資料所有檔案的行數

統計檔案的行數,簡單的方法就是統計換行符的個數,即使用String.split(‘\n’)分割後返回陣列的長度。目前有兩版實現,其中一版是gulp 地址如下gulp版統計行數地址另外一版便是這個。

Ubuntu終端修改一個資料所有檔案的許可權

很多時候,從移動儲存裝置 複製檔案/資料夾到Ubuntu的時候,都會出現被複制的檔案/資料夾變成一片綠色 - - ,那時因為被複制的檔案和資料夾被修改了許可權為777,所以應當將其修改為775,一個一個修改非常麻煩,尤其是資料夾下有檔案,更甚還有子資料夾,子子孫孫無窮盡,修改

python 遍歷,刪除,複製資料所有檔案

import os def files_and_dirs_list(dir_path): """ 遍歷資料夾及資料夾下所有檔案(包括資料夾) :param dir_path: 資料夾路徑 :return: root 所指的是當前正在遍歷的這個資料

Python列出資料類檔名的方法

Python 列出資料夾下某類檔案字尾 讀某個資料夾下所有圖片 利用os.listdir()和string.endswith()函式實現。 在進行視覺相關任務程式設計時, 常常需要讀出資料夾下的圖片。但有的時候會包含其他字尾的檔案,這時候需要將特定字尾的檔名依次

C#遍歷指定資料檔案或子檔案

今天用到查詢給定路徑下的所有檔案,記錄一下: 1、引入IO名稱空間 using System.IO; 2、用到的主要方法: DirectoryInfo folder = new DirectoryInfo(filePath); DirectoryInfo.GetFiles():獲取目錄中所有

python 在一個py檔案呼叫另一個資料py檔案模組

假設現在的資料夾結構如下: -- src     |-- dir1     |    -- file1.py     |-- dir2     | 

Linux查詢資料檔案的內容

今天有個需求:需要查詢在某個工程下面的所有js檔案和vm檔案中是否包含某個特定的關鍵字$a。 自己最直觀的想法,使用find實現。 find . -name "*.js" -or -name "*.vm" | xargs grep "\b$a\b"

python程式2(遞迴查詢一個資料所有的檔案是否含有某個特定的字串,並列印該檔名)

#coding:utf-8 #author:yanjing #date:2016/12/16 #遞迴查詢某一個資料夾下所有的檔案是否含有某個特定的字串 import os import re import string #此函式的作用為遞迴查詢資料夾下所有的檔案 def d

解決vmwaretools安裝成功裝好後,hgfs資料看不到共享檔案的問題!

 安裝環境:win10+vmware12.5pro+rehl6.0 1.安裝好vmware12.5pro後,這個虛擬機器的版本會自動安裝vmtools,不需要手動安裝。 2. 在虛擬機器下裝好rehl6.0,可以在/mnt目錄下看到hgfs資料夾,但裡面什麼也沒有,原因可能

android解決讀取assets資料的json或txt檔案亂碼問題

我的是要讀本地的json檔案 怎麼讀都是亂碼 各種犯難 ,到最後 解決了 原來那麼簡單.... 解決方法如下: 程式碼: /** * 獲取Assets路徑下的檔案 * * @pa

vue-cli的build的資料沒有dev-server.js檔案,怎麼配置mock資料

新版webpack.dev.conf.js配置如下:const express = require('express')const app = express()var appData = require('../data.json')//載入本地資料檔案var seller = appData.seller

在Virtualbox的linux客戶端共享window的資料,出現“mount:未知的檔案系統 `vboxsf'”情況

如果在linux 終端中輸入sudo mount -t  vboxsf “共享檔名” “linux下共享路徑”後出現如下提示 先在virtualbox的客戶端環境下安裝virtualbox addition 詳見http://blog.csdn.net/tjzhaome

vue建立專案build的資料沒有dev-server.js檔案了,怎麼mock資料

vue-cli建立完專案,dev-server.js檔案丟了,左邊是大佬的,右邊是我的,什麼情況!!!!??? 那我還怎麼跟著大佬的專案敲程式碼啊,dev-server.js裡面的資料怎麼mock啊

c++讀取某個資料全部某種型別的檔案

本文程式碼實現的功能為: 讀取images 資料夾下全部格式為.jpg格式的圖片名稱,並將名稱顯示出來。 以下為程式碼 getFileContents.h #ifndef GETFILECONTENTS_H #define GETFILECONTENTS_H #inclu

OpenCV_讀取資料的圖片生成視訊檔案

使用OpenCV讀取指定資料夾下的所有圖片,然後生成avi視訊檔案。 // 讀取資料夾下的圖片生成視訊檔案 // Author:www.icvpr.com // Blog: http://blog.csdn.net/icvpr #include <ios

Python_合併多個資料的多個csv檔案

# -*- coding:utf8 -*- import os.path import os import csv import re path = "D:\Datebase\data1\DataChallengeOne" #i = 0 files = os.listdir(path) with open(

java找到資料所有的指定格式檔案並輸出到txt

import java.io.*; public class CopyDirsMain { /** * 注意,pw初始化不能在遞迴裡面。在遞迴時可能會出錯 * * */ public static void main(String[] args) {