问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

教你如何导出百度网盘目录结构-超详细的

发布网友 发布时间:2023-09-16 18:00

我来回答

1个回答

热心网友 时间:2024-11-22 22:49

网盘大家都在用,有时候希望把自己的文件目录结构给导出来,能形成一个文件树的形式,无奈网上找了好多资料都无果,大多数说的是在浏览器里控制台下,那个方法已经不适用,而且只能导出一级目录,求人不如求己,无奈之下决定自己动手丰衣足食,下面小编手把手教你怎么把云网盘里的文件目录机构给导出来。
方法1
右键点击百度云客户端快捷方式---选择“打开文件位置(XP不适用)”,或点属性,查看快捷方式目标,一般在“C:\Users\Administrator\AppData\Roaming\\BaiYunGuanjia\”位置,打开后可以看到有个user目录,双击打开,如下图所示。

里面有几个文件夹,分别存放各用户文件资料。打开那个一长串的文件夹,可以看到里面有个“BaiYunCacheFileV0.db”文件,每个人可能文件名不一样,但是后缀肯定是.db文件,然后是大小最大的那个文件,这个就是存放你网盘的详细信息的数据库了,如下图所示。

如何打开这个数据库呢? 这需要一个软件,Navicat Premium。这里就不提供下载地址了,自己百度去吧,百度的时候在关键字后面加一个绿色免安装,下载的双击就可以用,不用安装了。 打开Navicat Premium,点连接选择SQLite常规现有数据库文件>浏览并选择你的百度云客户端目录中“BaiYunCacheFileV0.db”文件,点“连接测试”,如显示“连接成功”,点击确定回到主界面,如下图所示。

双击刚才建立的那个百度云管家数据库,出现main,再双击main,点开表,双击cache_file表,如下图所示:

这里就是你的百度网盘上的所有目录结构信息,其中parent_path是路径,server_filename是文件名。接下来就是导出这些信息到文件里,导出的时候可以选择全部导出也可以选择导出自己需要的部分,怎么导出自己需要的部分呢,比如我只需要“教程”文件夹下的内容,看下面的截图:

这样一来出现的都是自己需要的数据了,接下来点击导出按钮,你可以选择全部导出,也可以选择导出部分。

打开导出的文件:
接下来就是怎么把这些信息生成文件树的形式了,下面介绍两种方法: (方法1)利用PHP程序把xls文件读取生成目录文件夹,然后再利用windows命令生成目录结构。 PHP(需百度下载phpexcel插件)代码如下: ?php header("Content-type:text/html;charset=utf-8"); require_once'phpexcel.php'; require_once'PHPExcel\IOFactory.php'; require_once'PHPExcel\Reader\Excel2007.php'; $uploadfile='data.xlsx';//这是刚才生成的xls文件,我改了下名字,你改不改无所谓,对应上就行 $uploadfile='android_path.xls'; $objReader=\PHPExcel_IOFactory::createReader('Excel5');/*Excel5for2003excel2007for2007*/ $objPHPExcel=$objReader-load($uploadfile);//Excel路径 $sheet=$objPHPExcel-getSheet(0); $highestRow=$sheet-getHighestRow();//取得总行数 $highestColumn=$sheet-getHighestColumn();//取得总列数 $objWorksheet=$objPHPExcel-getActiveSheet(); $highestRow=$objWorksheet-getHighestRow();//取得总行数 $highestColumn=$objWorksheet-getHighestColumn(); $highestColumnIndex=\PHPExcel_Cell::columnIndexFromString($highestColumn);//总列数 $data=array(); for($row=2;$row=$highestRow;$row++){ $strs=array(); //注意highestColumnIndex的列数索引从0开始 for($col=0;$col$highestColumnIndex;$col++){ if($col==0){ $strs['parent_path']=$objWorksheet-getCellByColumnAndRow($col,$row)-getValue(); }else{ $strs['filename']=$objWorksheet-getCellByColumnAndRow($col,$row)-getValue(); } } $data[$row]=$strs; } foreach($dataas$k=$v){ $parent_path=iconv("utf-8","gbk",trim(trim($v['parent_path'],"/"))); $filename=iconv("utf-8","gbk",trim(trim($v['filename'],"/"))); if(!is_dir($parent_path)){ mkdir($parent_path,0777,true); } $handle=fopen("$parent_path/$filename","w"); fwrite($handle,"明礼馨德"); fclose($handle); } ? 运行完这个程序后,找到已经建好的文件夹,打开命令行,如下图所示:

然后再命令窗口输入tree /f mulu.txt ,回车后你会发现多了个mulu.txt文件,打开看看:

看到没,文件目录树已经生成啦,下面来看第二种方法。
方法2
上面是一种方法,接下来说第二种方法,按照方法1把Excel文件导出后,利用Excel表格的vba宏命令来实现(默认下没有这个宏,需要自己下载安装)如果你对VBA有所了解,那就选择这个方法吧,如果不了解的话建议还是选择上一个,下面看代码: Fori=2To37204’数据行数 k=Val(Sheet1.Cells(i,18)) Forz=0Tok Sheet1.Cells(i,21+z)="│" Next IfSheet1.Cells(i,13)Sheet1.Cells(i-1,13)Then strCell=Split(Sheet1.Cells(i,13),"/") IfUBound(strCell)=1ThenSheet1.Cells(i,21+k)="├"strCell(UBound(strCell)-1)ElseSheet1.Cells(i,21+k)="├"Sheet1.Cells(i,13) 'IfUBound(strCell)=1ThenSheet1.Cells(i,21+k)=strCell(UBound(strCell)-1)ElseSheet1.Cells(i,21+k)=Sheet1.Cells(i,13) 'Worksheets("Sheet1").Range(Cells(i,21+k),Cells(i,21+k)).Font.FontStyle="Bold" ‘如果是文件夹则设置成红色显示 Worksheets("Sheet1").Range(Cells(i,21+k),Cells(i,21+k)).Font.ColorIndex=3 Worksheets("Sheet1").Range(Cells(i,21+k),Cells(i,21+k)).Select Selection.Columns.AutoFit EndIf IfSheet1.Cells(i,7)=0Then Sheet1.Cells(i,21+k+1)="├"Sheet1.Cells(i,3) IfVal(Sheet1.Cells(i,4))=1048576Then’文件大小,小于1M的以K表示 Sheet1.Cells(i,20)=Format(CStr(Val(Sheet1.Cells(i,4)/1024/1024)),"######0.##")"M" Else Sheet1.Cells(i,20)=Format(CStr(Val(Sheet1.Cells(i,4)/1024)),"######0.##")"K" EndIf 'Sheet1.Cells(i,21+k+1)=Sheet1.Cells(i,3) Else 'Sheet1.Cells(i,21+k+1)=Sheet1.Cells(i,3) 'Worksheets("Sheet1").Range(Cells(i,21+k+1),Cells(i,21+k+1)).Font.ColorIndex=5 EndIf Next
生成目录树后复制到词本里是这个样子的:

以上是两种方法,供大家参考。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果手机微信怎么换漂亮字体(苹果手机微信怎么换行输入) 有什么好用的app转换字体 手写转文字的软件 erp可以看评论地址吗 淘宝评论url是什么意思? 揭秘:码牌支付风控升级,背后真相揭秘 电脑电视直播软件哪个好用什么软件好电脑看电视直播 潼南子同街学区是哪些 三极管BU406价格和参数? 火锅料放在冰柜忘了插电一个星期给会坏了吗 火锅的设备有哪些 急 对乙酰氨基酚片(俗陈扑热息痛)能不能给小狗吃 兽用对乙酰氨基酚区别 规培生管理中的小确幸 英文装饰烘培纸可以放烤箱吗? 骑兵退出战场的原因是什么?或者说是什么终结了骑兵?要全面的。我只知 ... 汉朝开始车兵淡出了历史,难道是因为车兵太弱了吗? 在西方骑兵是怎么退出历史的舞台的? 离海洋最远的新疆,是干旱和缺水的地方,为何又成为了美丽的新疆_百度知 ... 乌鲁木齐河的干流走向 荒野大镖客2去哪里玩德州扑克 河北省隆化县招生办公室电话 河北省承德市隆化县现在上小学需要什么 PS工具栏不见了怎么办?如何恢复? 工资条没有盖章有效吗 煮过的猪肝炒多久能熟 文俊辉巫婆笑声是哪一期出现的 oppoa32处理器是多少 作ghost备份的时候出现interral error 3600的问题? ralin是什么品牌 对方电话不在服务区怎么回事? 关注宝宝心灵的需求,会有什么意义? 爱的教育对世界儿童的影响 廊坊21中学交付时间 廊坊远洋二十一中学怎么样 廊坊二十一中学是重点吗 廊坊市二十一中都收哪几个小区的孩子 我主板H61-PLUS SM总线控制器 装不上 ...其他一样,用天平称三次,如何找出那个坏的鸡蛋 ...的(重量与其余鸡蛋不同),现要求用天平称三次,称出哪个鸡蛋是坏的... 一共12个鸡蛋,有一个坏的,一个天秤,只能称3次,怎么称出坏蛋 ...的,坏蛋不知道比好蛋是重还是轻,如何用天平称3次就找出坏蛋?_百度... 有12只鸡蛋,但其中有一只是变质了的,有一架天平,要求秤3次,秤出变质的... 微信朋友圈有红点提醒怎么取消呢 梦见太猛 梦见猛女秀的预兆 ...一不小心剪到头发根了,那一片不长头发了,怎么办,才能继续长。_百度... ...现在只有1cm左右,之前可是1dm的,怎么才能让头发长快点? 头发剪短了,为什么老长不长?而且还分叉!怎样才能让头发长长呢? 微信对方正在输入,如何关闭? 反叛的鲁鲁修本子