【转载】 恢复百度云同步盘本地误删的文件(2篇)
前几天由于我要重新整理文件,我将备份文件夹a目录中的所有文件移动到本地文件夹b中。同时我将百度云盘中的备份目录A也清空。 整理完成后,我重新将整理完成的文件移动到a中,让百度云同步盘自动同步。可是我昨天发现,现在里面只剩下一个文件夹,其他的都被删除了。并且,电脑中的回收站只有文件夹目录,没有文件。百度云上的回收站也没有任何东西。这真是抓急啊,幸好网上有朋友分享了这两篇文章。先做转载,不分先后顺序。我是用第一篇文章修复的,后来才看到第二篇。
以后大规模整理前,还是先本地备份,并保留个把天为好。
PS:后来百度云官方给我提供了个程序,估计原理一样。原文如下:
检查本地同步目录有没有一个.baohe.cache的文件, 有一个恢复工具:http://pan.baidu.com/s/1eQtMSsa,可以恢复部分用户使用同步盘删除的文件。前提是删除的文件在本地同步目录下baohe.cache(隐藏文件夹)里,请将分享给您的exe文件,放到需要恢复的指定日期文件下,运行即可。
---------------------------------------------------------------------------------------------------------
第一篇:百度网盘本地误删除,文件恢复(附程序)
作者:塘(看不到作者信息,先以空间名代替)
原文地址:http://hi.baidu.com/joinwage/item/cee4604b2a0d992110ee1e4f
---------------------------------------------------------------------------------------------------------
近日,点开百度云让其自动同步。昨天发现好多文件不见了,大惊。百度云居然未经同意删除文件,时间已经过了10日。百度网盘回收站里找不到了。后在同步目录发现一隐藏文件夹".baohe.cache",点开来看,文件都在里面,不过文件名被其改成了md5码,里面还有一个配置文件manifest.xml,有对应文件原名称。
需要恢复的有2万多个文件,人工操作肯定是非选项。于是写了运行在net2.0下的自动恢复程序(附源码),只需填入manifest.xml路径就可以恢复了,如果需要的朋友可以下载:http://pan.baidu.com/s/1kTmh7DX
---------------------------------------------------------------------------------------------------------
第二篇:恢复百度云盘本地误删的文件脚本---python
作者:AltenLi 原文地址:http://blog.csdn.net/altenli/article/details/23664973
---------------------------------------------------------------------------------------------------------
今天被同步盘搞得焦头烂额。
辛苦码的代码(除了重要的、备份过的)都被删掉了……
当时我就石化了。。。
随后发现同步盘目录有个delete目录,里面还有manifest.xml,和一堆改了名的文件,
看到manifest.xml的内容时,瞬间觉得有救了,立马开搞python
废话不多说,直接上代码:
1 #-*- coding:utf-8 -*- 2 from xml.etree import ElementTree 3 import os 4 import sys 5 reload(sys) 6 sys.setdefaultencoding( "utf-8" ) 7 8 def convertfile(cachePath,orgPath): 9 '''恢复文件''' 10 start=0; 11 while True: 12 index = orgPath.find('\\', start) 13 if index == -1: 14 break 15 start = index + 1 16 17 orgDir=orgPath[:start] 18 print 'orgDir:',orgDir 19 20 if not os.path.exists(orgDir): 21 os.makedirs(orgDir) 22 if not os.path.exists(orgPath) or(os.path.exists(orgPath) and (os.path.getsize(orgPath) != os.path.getsize(cachePath))): 23 file_in=open(cachePath, "rb") 24 file_out=open(orgPath, "wb") 25 file_out.write(file_in.read()) 26 file_in.close() 27 file_out.close() 28 29 30 def read_xml(text): 31 '''读xml文件''' 32 root = ElementTree.fromstring(text) 33 34 lst_node = root.getiterator("record") 35 for node in lst_node: 36 cp=node.attrib['cachePath'] 37 op=node.attrib['orgPath'] 38 cp=cp.replace('~','.') 39 op=op.replace('~','.') 40 print cp+'->'+op 41 convertfile(cp,op) 42 43 if __name__ == '__main__': 44 '''将本文件放在云同步盘的根目录下, 45 将mani_file改为需要恢复的manifest文件''' 46 mani_file=".\\.baohe.cache\\.delete\\20140412\\manifest.xml" 47 read_xml(open(mani_file).read())
本文件在Python2.7.6下正常,3.4貌似有问题(汗
python可以在官网下载:https://www.python.org/downloads/
将本文件(假如叫做huifu.py)放在云同步盘的根目录下,比如云同步盘在“d:\baiduyun\”,那么文件应该在“d:\baiduyun\”下,最终是这样的“d:\baiduyun\huifu.py”
千万不要轻易从百度云上删除已经上传的文件啊!血泪教训。。。