線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1012
推到 Plurk!
推到 Facebook!

定時刪除過期檔案

尚未結案
dalelin
一般會員


發表:2
回覆:5
積分:1
註冊:2003-01-03

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-30 08:33:45 IP:163.28.xxx.xxx 未訂閱
請問各位前輩, 要如何定時刪除比如說五分鐘之前多個檔案呢??
TIY~2
一般會員


發表:26
回覆:37
積分:22
註冊:2003-08-07

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-30 10:54:08 IP:218.162.xxx.xxx 未訂閱
定時的作法要用TIMER執行序的機制 但是刪除5分鐘前的檔案就還要用到的是比對時間,除了擷取目前時間外 還要擷取檔案的建立時間 如果刪除同一個資料夾內的檔案,就要做掃瞄同一資料夾的所有檔案並且逐一比對再做刪除的動作 以上只是大概敘述,至於各個程式,利用本站搜尋就應該有你要的答案了
g6101
高階會員


發表:22
回覆:129
積分:110
註冊:2002-06-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-01 20:09:20 IP:163.29.xxx.xxx 未訂閱
dalelin 您好: 請參考以下的程式碼 
#include "stdio.h"
#include "dateutils.hpp"    void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
//建立檔案結構
  WIN32_FIND_DATA fs;
  HANDLE he;
  char pathbuf[MAX_PATH];      FILETIME nLocalTime;
  SYSTEMTIME STime;
  TDateTime dtTime;
  TDateTime DTime = Now();
  DTime = IncMinute(DTime,-5);      sprintf(pathbuf,"%s*.*","d:\\test\\"); //搜尋位置及檔案格式
  if ((he = FindFirstFile(pathbuf,&fs)) != INVALID_HANDLE_VALUE) 
  {
    do 
    {
      FileTimeToLocalFileTime(&fs.ftLastWriteTime,&nLocalTime);
      FileTimeToSystemTime(&nLocalTime,&STime);
      dtTime = SystemTimeToDateTime(STime);
      if (dtTime < DTime) 
      {
        DeleteFile(fs.cFileName); 
      }
    } 
    while (FindNextFile(he,&fs))
         FindClose(he); 
  }
}
希望對你有幫助 發表人 -
系統時間:2024-05-18 20:59:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!