電腦檔案修改時間和實際修改時間不一樣

時間 2022-01-08 21:05:04

1樓:卡路里德蘇瓦

你看看你係統裡的windows檔案,是不是有很多年前的。所以你說的現象正常。要想按時間排列你在我的電腦裡開啟資料夾點一下資料夾上方的修改時間,檔案就會有序排列了。

2樓:匿名使用者

這很正常,比如,今天我做了一個文件,而再過幾天,我又用u盤拷到其它機子上,建立日期即是幾天後的時間,自然建立時間比修改時間晚

3樓:匿名使用者

你的系統時間出錯了!把系統時間改一下就好了!!!

4樓:天涯浪盡

先開啟檔案,再在工具欄上點選「檢視」,在排序中選擇「修改時間排序」即可!

5樓:首席玩家

在vc++下對檔案屬性的獲取與更改

摘要:本文講述了在visual c++ 下程式設計實現對磁碟檔案的屬性進行獲取以及更改的一般方法,並給出部分相關的關鍵**。

一、 引言

檔案是資料在磁碟上最常用的一種存放形式,也是在程式設計中與之經常打交道的一種程式設計物件,不少程式尤其是資料傳輸和處理類的應用程式更是需要頻繁的創 建、讀取和寫入檔案。對於一些要求不是很嚴格的程式,我們往往只關心檔案的內容是否正確、檔案大小是否有增減或是再嚴格一些,看檔名是否符合規定等等。 以上這些要素對於大多數程式而言顯然是可以滿足實際需求的,但對於某些特殊行業的一些有著比較嚴格要求的軟體系統,僅有以上要素還是遠遠不夠的,往往還需 要對檔案的所有屬性諸如檔案的建立時間、檔案的最後訪問時間、檔案的最後修改時間等等進行提取處理與重新設定。

二、 win32_find_data結構

關於檔案的全部屬性資訊,總計有以下以下9種:檔案的標題名、檔案的屬性(只讀、存檔,隱藏等)、檔案的建立時間、檔案的最後訪問時間、檔案的最後修改時間、檔案大小的高位雙字、檔案大小的低位雙字、保留、保留。在這裡只有檔案標題名和檔案的長度可以通過cfile類比較方便的獲得,而對於其他幾種屬性的獲取和設定就無能為力了。

在用findfirst()和findnext()函式去查詢磁碟檔案時經常使用的一個資料結構win32_find_data的成員變數裡包含了以上所有的檔案屬性,因此可以通過這個結構作為獲取和更改檔案屬性的手段。該結構的內容如下:

typedef struct _win32_find_data win32_find_data, *pwin32_find_data;

可以通過findfirstfile()函式根據當前的檔案存放路徑查詢該檔案來把待操作檔案的相關屬性讀取到win32_find_data結構中去:

win32_find_data ffd ;

在使用這個結構時不能手工修改這個結構中的任何資料,結構對於開發人員來說只能作為一個只讀資料,其所有的成員變數都會由系統完成填寫。在msdn幫助中可以查詢到關於win32_find_data結構的更加詳細的說明。

三、 檔案屬性資訊的獲取與更改

為了更好的儲存獲取到的檔案屬性資訊,對應於檔案屬性構造一個自定義的file_info資料結構,獲取的屬性資訊可暫存於此:

typedef struct _file_info file_info, * pfile_info;

首先用findfirstfile()函式將檔案屬性獲取到win32_find_data 結構物件findfiledata中去,之後可以用findclose()將其關閉,並把findfiledata中的有關檔案屬性資訊的內容複製到自定 義結構file_info的結構物件fileinfo中備用。下面是關於這部分描述的部分關鍵**:

//宣告結構物件

file_info fileinfo;

win32_find_data findfiledata;

……//獲取檔案屬性資訊

……//將檔案屬性資訊儲存到fileinfo中備用

strcpy(fileinfo.szfiletitle,myfile.getfiletitle());

fileinfo.dwfileattributes = findfiledata.dwfileattributes;

fileinfo.ftcreationtime = findfiledata.ftcreationtime;

fileinfo.ftlastaccesstime = findfiledata.ftlastaccesstime;

fileinfo.ftlastwritetime = findfiledata.ftlastwritetime;

fileinfo.nfilesizehigh = findfiledata.nfilesizehigh;

fileinfo.nfilesizelow = findfiledata.nfilesizelow;

…… 在獲取到檔案的原始屬性資訊後既可以原封不動的將屬性重新寫到檔案,也可以對其中某一項或某幾項屬性內容進行修改後再行寫入檔案,從而達到更改檔案屬性 的目的。比如可以用setfiletime()函式設定檔案的建立時間、最近一次訪問時間以及最近一次修改的時間等等:

setfiletime((handle)destfile.m_hfile, //待寫入的檔案控制代碼

&fileinfo.ftcreationtime, //檔案的建立時間

檔案最近一次的訪問時間

檔案最近一次的修改時間

也可以用setfileattributes() 函式實現對檔案屬性的修改:

setfileattributes(fileinfo.szfiletitle,fileinfo.dwfileattributes);

至於檔名的修改則更加簡單,直接在建立檔案時在createfile()或cfile類的成員函式open裡直接對檔名引數進行設定即可。

在電腦上,複製和剪下檔案時會不會改變檔案的修改時間?

6樓:yty隨意

複製檔案不會修改該檔案的建立時間,剪下檔案的區域性或者新增內容會改變建立檔案的時間。解決方法如下:

1、首先在需要檢視時間的檔案上,單擊滑鼠右鍵,從彈出選單中選擇:屬性。

2、在彈出的檔案屬性對話方塊中的常規選項卡下,可以檢視一個檔案的建立、修改和訪問時間。

3、還可以開啟cmd視窗。檢視檔案kk.txt的建立時間,在cmd視窗中輸入:dir kk.txt /t:c。

4、檢視檔案kk.txt的修改時間,在cmd視窗中輸入:dir kk.txt /t:w,回車確認輸入即可檢視檔案被修改時間。

5、檢視檔案kk.txt的訪問時間,在cmd視窗中輸入:dir kk.txt /t:a,回車確認輸入即可檢視檔案被訪問時間。

7樓:匿名使用者

在電腦上,複製和剪下檔案時不會改變檔案的修改時間。因為在複製和剪下時,並未對檔案進行任何修改,所以,被複制和剪下的檔案時不會改變檔案的修改時間。

8樓:優幫影視

複製該檔案不會修改該檔案的建立時間,

剪下檔案的區域性或者新增內容都會改變當前的建立檔案的時間。

9樓:匿名使用者

修改時間不會變

只是複製的話建立時間會不同,新的就是複製時的時間。

剪下就是把一個東西移到另一位置,都一樣的

在電腦上,複製和剪下檔案時會不會改變檔案的修改時間?

10樓:檢義大雅暢

複製該檔案不會修改該檔案的建立時間,

剪下檔案的區域性或者新增內容都會改變當前的建立檔案的時間。

如何修改檔案屬性中的建立時間和修改時間

網上有很多免費的軟體工具,可以用來修改檔案的建立時間,日期。例如 檔案屬性修改專家 filedate changer 批量更名快車 另外你可以把系統時間改了 然後重新備份下你的檔案 這個備份檔案的建立時間就會變成你設定的時間 另外再進行下修改就能改變修改時間 步驟2,點選左上角 新增檔案 將需要修改...

批處理怎麼比較檔案最後修改時間和當前時間

echo off rem 獲取檔案修改時間 setlocal enabledelayedexpansionfor f skip 1 tokens 1,3,5 delims a in wmic datafile where name r test22 新建文字文件.txt get lastmodifi...

檔案屬性修改時間訪問時間是什麼意思

比如說 你建立了一個word文件。那麼會有一個建立時間在屬性的高階裡能看到。修改時間是對這個檔案的最後一次修改並儲存的時間,訪問時間是指對這個檔案的最後一次開啟 沒有修改及儲存 時間。屬性就跟人一樣,多大了?男女 檔案型別 幹啥工作的。我只是打個比方。呵呵修改時間就是最後的修改這個檔案時間,不一定是...