假设在星期日file.txt
文件已创建,保存在文件夹folder1
中。
星期一,有人将file.txt
复制或移动到文件夹folder2
。
星期二,对于文件Folder2/file.txt
,我想知道文件到达folder2
的日期(即星期一)
更新
将文件从文件夹移动到另一个文件时,FileInfo.LastAccessTime
prop不受影响,但仅限于复制粘贴文件时。
答案 0 :(得分:2)
您可以使用FileSystemInfo.LastAccessTime
属性
请参阅msdn链接https://msdn.microsoft.com/en-us/library/system.io.filesysteminfo.lastaccesstime(v=vs.110).aspx
答案 1 :(得分:2)
您可以使用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");
答案 2 :(得分:0)
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
监视特殊目录中的更改,然后保存更改文件的时间。