假設,在星期天file.txt
文件被創建,保存在文件夾folder1
。C#如何獲取文件放入文件夾的日期?
週一,有人將file.txt
複製或移動到文件夾folder2
。
週二,對於文件Folder2/file.txt
,我想要得到的日期在文件來到folder2
(即日期星期一)
UPDATE: FileInfo.LastAccessTime
道具,從文件夾中移動文件時,不會受到影響另一個,但只有當複製粘貼文件。
假設,在星期天file.txt
文件被創建,保存在文件夾folder1
。C#如何獲取文件放入文件夾的日期?
週一,有人將file.txt
複製或移動到文件夾folder2
。
週二,對於文件Folder2/file.txt
,我想要得到的日期在文件來到folder2
(即日期星期一)
UPDATE: FileInfo.LastAccessTime
道具,從文件夾中移動文件時,不會受到影響另一個,但只有當複製粘貼文件。
可以使用FileSystemInfo.LastAccessTime
物業
參考MSDN鏈接https://msdn.microsoft.com/en-us/library/system.io.filesysteminfo.lastaccesstime(v=vs.110).aspx
您可以使用File.SetCreationTime
設置複製時間。
File.Move(sourceFile, destinationFile);
File.SetCreationTime(destinationFile, DateTime.Now);
更新:
由於問題被更新知道(只)日當文件被手動複製,我們只需要知道該文件是Created
或LastAccessed
。你可以做到這一點。
var f = new FileInfo("destinationfile");
DateTime lastAccess = f.LastAccessTime
string datoftheweek = lastAccess.ToString("ddd");
Action CreationTime LastWriteTime LastAccessTime FullName
2016/2/17 23:32:09 2016/2/17 23:43:06 2016/2/17 23:43:06 D:\Temp\tmp
CopyTo 2016/3/16 17:57:00 2016/2/17 23:43:06 2016/3/16 17:57:00 D:\Temp\Test\tmp1
MoveTo 2016/2/17 23:32:09 2016/2/17 23:43:06 2016/2/17 23:43:06 D:\Temp\Test\tmp2
我用FileInfo
對文件進行測試。 CopyTo
將更改CreationTime
和LastAccessTime
,但MoveTo
不會更改三個屬性中的任何一個。
當文件被複制到目標文件夾時,我們可以使用CreationTime
來檢測複製的時間。 我不知道檢測文件被移動的時間,有時可能會使用文件夾的LastAccessTime
。
如果可能,請使用FileSystemWatcher
來監視特殊目錄中的更改,然後保存更改文件的時間。
它只適用於複製粘貼文件,不適用於移動文件。 – Refael
您是否嘗試過'LastWriteTime'屬性? – Thiru
是的,它沒有更新。 – Refael