微信公众号:yhjbox(永恒君的百宝箱),获取最新文章、资源。

工具分享 | 如何制作百度网盘中的文件目录?

软件工具 永恒君 1671℃ 0评论
不知道大家有没有需要获取百度网盘中的文件的目录
永恒君在百度网盘里面存了大量文件,有时候需要做分享时候,希望可以把资源文件做一个目录列表,这样更方便使用。如下图
百度云客户端本身并不提供这个功能,经过一番搜索和研究,发现网上已经有大神用python开发出来了小工具,只需要直接拿来用就好了。python源代码如下:

#!/usr/bin/env python3
# -*- coding:utf-8 -*-

from tkinter import *
from tkinter.filedialog import askopenfilename
from tkinter.filedialog import asksaveasfilename
from tkinter.ttk import *
import sqlite3

def select_db_file():
    db_file = askopenfilename(title="请选择BaiduYunCacheFileV0.db文件",filetypes=[('db', '*.db')])
    db.set(db_file)

def select_save_file():
    save_file = asksaveasfilename(filetypes=[('文件', '*.txt')])
    f.set(save_file+".txt")

def write_file(file_dict,f,item,gap=""):
    if item=="/":
        f.write("━" + "/" + "\n")
        for i in file_dict["/"]:
            f.write("┣" + "━" + i + "\n")
            i = item + i + "/"
            if i in file_dict:
                write_file(file_dict,f,i, gap="┣━")
    else:
        gap = "┃  " + gap
        for i in file_dict[item]:
            f.write(gap + i + "\n")
            i = item + i + "/"
            if i in file_dict:
                  write_file(file_dict,f,i,gap)

def create_baiduyun_filelist():
    file_dict = {}
    conn = sqlite3.connect(db.get())
    cursor = conn.cursor()
    cursor.execute("select * from cache_file")
    while True:
        value = cursor.fetchone()
        if not value:
            break
        path = value[2]
        name = value[3]
        size = value[4]
        isdir = value[6]
        if path not in file_dict:
            file_dict[path] = []
            file_dict[path].append(name)
        else:
            file_dict[path].append(name)
    with open(f.get(),"w",encoding='utf-8') as fp:
        write_file(file_dict,fp,"/")

root = Tk()
root.title('百度云文件列表生成工具')
db_select = Button(root, text=' 选择DB文件 ',command=select_db_file)
db_select.grid(row=1,column=1,sticky=W,padx=(2,0),pady=(2,0))
db = StringVar()
db_path = Entry(root,width=80,textvariable = db)
db_path['state'] = 'readonly'
db_path.grid(row=1,column=2,padx=3,pady=3,sticky=W+E)
save_path = Button(root, text='选择保存地址',command=select_save_file)
save_path.grid(row=2,column=1,sticky=W,padx=(2,0),pady=(2,0))
f = StringVar()
file_path = Entry(root,width=80,textvariable = f)
file_path['state'] = 'readonly'
file_path.grid(row=2, column=2,padx=3,pady=3,sticky=W+E)
create_btn = Button(root, text='生成文件列表',command=create_baiduyun_filelist)
create_btn.grid(row=3,column=1,columnspan=2,pady=(0,2))
root.columnconfigure(2, weight=1)
root.mainloop()

工具的原理:

百度网盘客户端会将云盘中的所有文件路径缓存在本地磁盘上,并保存为一个数据库文件(BaiduYunCacheFileV0.db),只需要找到合适的工具读取这个数据库即可制作百度网盘中的文件目录。

使用方法:

将上面的代码保存为.py文件,直接运行后会出现下面的界面,

选择BaiduYunCacheFileV0.db的路径,然后选择要保存目录的txt的位置,然后点击“生成文件列表”即可。

这个工具着实很方便!!!

如果你嫌麻烦,可以直接下载永恒君制作好的.py文件使用。

另外,考虑到有些朋友的电脑上可能没有安装python,永恒君也把python文件编译成了exe文件,直接双击即可运行

py文件和exe文件都打包放在后台了,感兴趣的话公众号内回复"云目录"自取吧~~~

 

欢迎交流!

 

你可能还会想看:

 

微信公众号:永恒君的百宝箱
个人博客:www.yhjbox.com

转载请注明:永恒君的百宝箱 » 工具分享 | 如何制作百度网盘中的文件目录?

喜欢 (6)
发表我的评论
取消评论
表情