warning 数据安全警告
数据无价,进行所有操作之前请先进行备份!
同步流程:找一台Windows的机器,安装百度网盘和RaiDrive,将百度网盘的下载目录直接指向OneDriver的本地挂载盘即可。
同理,RaiDrive支持的所有网盘均可以这么进行同步,比如DropBox,Google Driver等。
我这次同步了近30G的零散文件和图片,发现有部分文件夹中存在有文件或图片下载失败的情况,失败后会在对应文件夹存在一个0KB大小的文件和一个大小正确但文件名后缀为.baiduyun.p.downloading的文件,但在百度云盘内查看文件下载是正常完成的。
具体情况可以参考这篇链接:https://blog.csdn.net/lxj362343/article/details/118631406
尝试对某一个照片打开进行验证:
文件头正常为FFD8,文件尾为:FFD9,确认文件是正常下载完成的但百度云盘未能正确合并文件。
那一个一个去合并文件显然不是一个正确的选择,尝试用Python对所有下载的文件进行遍历,找到大小为0KB的文件,并用文件名+”.baiduyun.p.downloading”的文件去覆盖它:
import os
onedrive = "你的OneDrive同步文件夹"
def check_filesize(dir_path):
all_files = os.listdir(dir_path)
sub_dirs = []
for file in all_files:
if file.endswith("downloading"):
continue
full_path = dir_path + file
if os.path.isfile(full_path):
if os.path.getsize(full_path) == 0:
if os.path.exists(full_path + ".baiduyun.p.downloading"):
os.remove(full_path)
os.rename(full_path + ".baiduyun.p.downloading", full_path)
print(full_path + " ===> ok")
else:
print(full_path)
else:
sub_dirs.append(full_path + "/")
for sub_dir in sub_dirs:
check_filesize(sub_dir)
if __name__ == '__main__':
check_filesize(onedrive)
发表回复