VC++实现文件夹时间属性的获取与更改
2007-03-25 21:32:47 来源:WEB开发网核心提示:引言:对于大多数的IT企业和绝大多数的个人用户而言,数据的备份主要是对数据内容的简单备份,VC++实现文件夹时间属性的获取与更改,而很少涉及对备份数据自身属性如文件属性、所在文件夹的时间属性等内容的备份,而在某些对数据管理有着非常严格要求的特殊行业中,可以先以打开文件的方式来打开文件夹,然后就可以通过原本用于处理文件时
引言:
对于大多数的IT企业和绝大多数的个人用户而言,数据的备份主要是对数据内容的简单备份,而很少涉及对备份数据自身属性如文件属性、所在文件夹的时间属性等内容的备份。而在某些对数据管理有着非常严格要求的特殊行业中,对以上这些相关属性信息的备份也是同等重要的。但是在目前的Windows操作系统下,不论是直接通过手工进行数据备份还是通过某些数据备份软件来进行,都难以将这些信息完全保持原貌复制过来,尤其对于每时每刻均在发生变化的时间属性更是难以保持其原始信息。不仅如此,在Windows操作系统下甚至没有提供能直接修改此类属性的工具和手段。为此,笔者对该问题做了研究,并总结出一套比较简单的解决办法。其中,对于文件属性的备份与更改方法笔者已在电脑报天极网《在VC++下对文件属性的获取与更改》一文做了阐述,因此,本文在此就不再加以赘述,而着重对文件夹时间属性的获取与更改方法进行介绍。
设计思路
在Windows操作系统下并没有提供任何可供修改文件夹时间属性的方法和手段,即使是在Win32 API函数中,也只是提供了对文件时间属性进行修改的函数调用,而没有关于文件夹时间属性修改的只言片语。虽然Windows所提供的备份程序能够把待备份文件夹下的所有子文件夹的时间属性按照原样完整的复制过去,但是却无法保持根目录时间属性的恒定。由此,可以考虑采取备份的方式来进行,并从同备份相关的Win32 API函数入手。具体而言,可以先以打开文件的方式来打开文件夹,然后就可以通过原本用于处理文件时间属性的Win32 API函数GetFileTime()和SetFileTime()来获取原始时间属性并以其为参数来设置备份后的文件夹时间属性了,这样的处理可以确保文件夹在备份前后时间属性的一致。
[]
更多精彩
赞助商链接