具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明的实施例首先提供一种用于计算机系统的资料复制方法,将所述计算机系统中的重要资料进行转移复制,特别是对除软件程序外的重要资料进行转移复制,以方便使用者随时对占用磁盘空间较多的资料进行存储位置的调整,例如对系统磁盘内的文件资料进行清理,节省系统空间,提高计算机系统的运行速度。
本发明实施例可以包括如下步骤:
步骤101:根据预设或用户指定的文件夹信息,在注册表中获取所述文件夹的当前存储路径信息;
步骤102:将所述当前存储路径下的文件夹及其资料复制到预设或用户指定的新的存储路径下;
根据复制策略,可以将指定文件夹中的资料整体或部分的复制到新的存储路径下。
步骤103:将所述复制后的文件夹及其资料所在的新的存储路径信息写回注册表中的对应项;
步骤104:删除所述文件夹复制前所在的存储路径下的对应数据。
在删除所述对应数据后,还可以对用户进行提示,例如通过用户界面标识或弹出窗口等方式来表示该数据已经执行删除操作或转移复制操作。
一般来说,重要资料大部分是存储于“桌面”、“我的文档”、“收藏夹”、“IE临时文件”、“Cookies”、“用户临时文件夹”等特定的文件夹中,这些文件夹可以预先确定或通过用户界面由用户指定。
其中,所述步骤101中,可以通过遍历注册表项来获取特定文件夹的存储路径,但这种遍历方式的效率较低,本发明实施例提出一种优选方式,通过使用应用程序接口API获取所述文件夹的实际路径。例如,利用应用程序接口API函数SHGetFolderPath获取重要资料的位置,以及利用SHSetFolderPath修改重要资料的位置,其中可以包括:
使用CSIDL DESKTOPDIRECTORY获取当前“桌面”路径;
使用CSIDL PERSONAL获取当前“我的文档”路径;
使用CSIDL FAVORITES获取当前“收藏夹”路径;
使用CSIDL INTERNET CACHE获取当前“IE临时文件夹”路径;
使用CSIDL COOKIES获取当前“Cookies”路径;
相应的,“桌面”对应注册表位置为:
HKCU\Software\MicrosoftWindows\CurrentVersion\Explorer\User ShellFolders Desktop键;
“我的文档”对应注册表位置为:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User ShellFolders Personal键;
“收藏夹”对应注册表位置为:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User ShellFolders Favorites键;
″IE临时文件夹″对应注册表位置为:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User ShellFolders Cache键;
″Cookies″对应注册表位置为:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User ShellFolders Cookies键;
“用户临时文件夹”对应注册表位置为:
HKCU\Environment Temp和TMP键。
对于大部分的情况来说,主要是为了转移复制位于系统磁盘内的资料而使用本发明的技术方案,因此,在步骤101中,如果通过注册表检测后发现某个指定文件夹当前存储于非系统磁盘,那么就可以屏蔽该文件夹信息,例如在用户选择需要转移复制的文件夹时不将该文件夹信息显示给用户,或者禁止用户选定该文件夹,通过这种方式即可屏蔽该文件夹信息,也就是说,用户不需要转移复制该文件夹。
当然,尽管本发明实施例主要是为了复制位于系统磁盘内的资料,但也完全可以适用于复制非系统磁盘内的资料,具体设置可以由用户指定。
在复制过程中,还有一种情况需要考虑,即待复制的资料正在被占用,考虑到这种情况,本发明实施例可以在复制重要资料前,也就是执行复制步骤前,利用驱动程序检测所述资料是否正在被占用,占用情况可以分为多种情况,例如被只读权限锁定、被系统函数锁定、被系统权限锁定、被进程占用等情况,如果没有被占用,则执行所述复制步骤;如果被占用,则对该占用进行解锁后再执行复制步骤。
具体来说,可以在重要资料复制前,利用驱动程序检测重要资料有无被占用,如果没有则开始复制工作,如果有则提示用户文件占用情况,用户可以点击解锁按钮,尝试解锁。解锁成功后,开始复制工作,如果解锁失败,则提示用户。
此外,考虑到复制过程中可能出现意外情况发生,例如当新的存储路径下的存储空间不足,或系统故障等情况发生时,需要将复制后的文件夹搬回初始位置,因此,本发明实施例还可以在复制步骤完成后,对所述复制的文件夹原来所在的存储路径进行记录,作为该文件夹及其资料的搬回位置,当预设事件发生时,将该文件夹复制回所述原来所在的存储路径。
请参考附图2,本发明实施例还进一步提供了具体的搬回操作流程,可包括如下步骤:
步骤201:提供一用户界面,其中显示有已复制文件夹当前所在存储路径信息及该文件夹复制前所在的存储路径信息;
当这个用户界面打开时,通过查询已经做过复制的文件夹记录即可确定哪些文件夹做过复制,复制前和复制后的路径是什么,这些信息都可以显示给用户,用户根据这些信息进行操作选择。
步骤202:根据用户界面触发的对选定的文件夹的复制操作,将所述当前存储路径下的文件夹及其资料复制到该文件夹复制前所在存储路径下;
步骤203:将该文件夹复制后所在存储路径信息写回注册表中的对应项;
步骤204:删除所述文件夹复制前所在的存储路径下的对应数据。
通过上述操作,就可以将文件夹搬回原路径位置存储。
在删除所述对应数据后,还可以对用户进行提示,例如通过用户界面标识或弹出窗口等方式来表示该数据已经删除或已经执行搬回操作。
相应的,如图3所示,本发明实施例还提供一种用于计算机系统的资料复制装置,以方便用户随时对占用磁盘空间较多的资料进行转移复制,节省存储空间,提高系统运行速度,所述装置包括:信息获取模块301,复制模块302,回写模块303,删除模块304,其中:
信息获取模块301,用于根据预设或用户指定的文件夹信息,在注册表中获取所述文件夹的当前存储路径信息;
复制模块302,用于将所述当前存储路径下的文件夹及其资料复制到预设或用户指定的新的存储路径下;
回写模块303,用于将所述复制后的文件夹及其资料所在的新的存储路径信息写回注册表中的对应项;
删除模块304,用于删除所述文件夹复制前所在的存储路径下的对应数据。
所述信息获取模块301,可以通过使用应用程序接口API获取所述文件夹的实际路径。
所述信息获取模块301,还可以进一步当所述文件夹当前存储于非系统磁盘时,则屏蔽该文件夹信息。
所述复制模块302,可进一步用于:利用驱动程序检测所述资料是否正在被占用,如果没有被占用,则执行复制;如果被占用,则对该占用进行解锁后再执行复制。
此外,本发明实施例所述的装置还可以进一步包括:记录模块305,用于对所述复制的文件夹原来所在的存储路径进行记录,作为该文件夹及其资料的搬回位置,当预设事件发生时,将该文件夹复制回所述原来所在的存储路径。
进一步的,如图4所示,本发明实施例所述的装置还可以进一步包括:显示模块306,搬回复制模块307,搬回回写模块308,搬回删除模块309,其中:
显示模块306,用于提供一用户界面,其中显示有已复制文件夹当前所在存储路径信息及该文件夹复制前所在的存储路径信息;
搬回复制模块307,用于根据用户对选定的文件夹的复制操作,将所述当前存储路径下的文件夹及其资料复制到该文件夹复制前所在存储路径下;
搬回回写模块308,将该文件夹复制后所在存储路径信息写回注册表中的对应项;
搬回删除模块309,删除所述文件夹复制前所在的存储路径下的对应数据。
上述装置实施例与方法实施例的各部分运作细节与有效效果具有对应关系,可参照理解,在此不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上对本申请进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。