【转载】 恢复百度云同步盘本地误删的文件(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”

 

千万不要轻易从百度云上删除已经上传的文件啊!血泪教训。。。

posted @ 2015-02-05 16:26  Smile_line  阅读(9578)  评论(0编辑  收藏  举报