上次我询问有关检索特定时间后修改的文件列表的问题
How can I get the files modified in a directory in a particular period of time using c++?
我尝试了以下代码
CFileFind finder;
szFile = _T("C:\\MyFolder\\*.*");
BOOL bFound = finder.FindFile( szFile );
CTime fileTime;
CTime fileCreateTime;
while ( bFound )
{
bFound = finder.FindNextFile();
finder.GetLastWriteTime(fileTime);
finder.GetCreationTime(fileCreateTime);
szFile = finder.GetFilePath();
if((startTime < fileTime) || (startTime < fileCreateTime))
{
............
可以使用上面的代码检索修改过的文件的详细信息。 但我无法获得重命名文件的详细信息。
如果我重命名该文件夹中的文件,其创建和修改时间与旧文件相同。 只有访问的时间才会改变。
但即使文件被打开且未被修改,访问时间也会发生变化。
因此,通过检索访问时间,我没有得到相关的详细信息..
任何人请帮忙,我如何识别重命名的文件......
答案 0 :(得分:1)
来自File times MSDN文章:
当应用程序创建,访问和写入文件时,系统会记录文件时间。
不记录重命名时间。你无法获得这些信息。您可以通过查看目录时间信息来了解文件是否已重命名,但这不会告诉您哪个文件已重命名。
如果你用更详细的方式解释了你的目标,也许有人可以找到另一种解决方案,但就像你要问的那样听起来不太可能。