凉风有信,秋月无边。
亏我思娇的情绪好比度日如年。

教你如何导出百度网盘目录结构-不用花钱的好方法

文章目录[隐藏]

百度网盘大家都在用,有时候希望把自己的文件目录结构给导出来,能形成一个文件树的形式,无奈网上找了好多资料都无果,大多数说的是在浏览器里控制台下,那个方法已经不适用,而且只能导出一级目录,求人不如求己,无奈之下决定自己动手丰衣足食,下面小编手把手教你怎么把百度云网盘里的文件目录机构给导出来。

工具/原料

  • 百度云管家电脑版
  • navicat premium数据库编辑软件

方法1

右键点击百度云客户端快捷方式---选择“打开文件位置(XP不适用)”,或点属性,查看快捷方式目标,一般在“C:\Users\Administrator\AppData\Roaming\baidu\BaiduYunGuanjia\”位置,打开后可以看到有个user目录,双击打开,如下图所示。

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

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

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

如何打开这个数据库呢?

这需要一个软件,Navicat Premium。这里就不提供下载地址了,自己百度去吧,百度的时候在关键字后面加一个绿色免安装,下载的双击就可以用,不用安装了。

打开Navicat Premium,点连接>选择SQLite>常规>现有数据库文件>浏览并选择你的百度云客户端目录中“BaiduYunCacheFileV0.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');/*Excel5 for 2003 excel2007 for 2007*/  

$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文件,打开看看:

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

看到没,文件目录树已经生成啦,下面来看第二种方法。

END

方法2

上面是一种方法,接下来说第二种方法,按照方法1把Excel文件导出后,利用Excel表格的vba宏命令来实现(默认下没有这个宏,需要自己下载安装)如果你对VBA有所了解,那就选择这个方法吧,如果不了解的话建议还是选择上一个,下面看代码:

For i = 2 To 37204’数据行数  

k = Val(Sheet1.Cells(i, 18))  

For z = 0 To k  

Sheet1.Cells(i, 21 + z) = "│"  

Next  

If Sheet1.Cells(i, 13) <> Sheet1.Cells(i - 1, 13) Then  

strCell = Split(Sheet1.Cells(i, 13), "/")  

If UBound(strCell) >= 1 Then Sheet1.Cells(i, 21 + k) = "├" & strCell(UBound(strCell) - 1) Else Sheet1.Cells(i, 21 + k) = "├" & Sheet1.Cells(i, 13)  

' If UBound(strCell) >= 1 Then Sheet1.Cells(i, 21 + k) = strCell(UBound(strCell) - 1) Else Sheet1.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  

End If  

If Sheet1.Cells(i, 7) = 0 Then  

Sheet1.Cells(i, 21 + k + 1) = "├" & Sheet1.Cells(i, 3)  

If Val(Sheet1.Cells(i, 4)) >= 1048576 Then’文件大小,小于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"  

End If  

'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  

End If

Next

生成目录树后复制到词本里是这个样子的:

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

以上是两种方法,供大家参考。

END

注意事项

  • 下载navicat premium时尽量选择绿色免安装版
  • Excel需要安装vba宏
赞(0) 打赏
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的内容,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。本博客资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。如果本文导致的版权问题以及内容纠错问题请联系站长QQ:1004619 | 点此给我发送邮件
本文标题:《教你如何导出百度网盘目录结构-不用花钱的好方法》
本文地址:https://www.1004619.com/biji/jiao-ni-ru-he-dao-chu-bai-du-wang-pan-mu-lu-jie-gou-bu-yong-hua-qian-de-hao-fang-fa/

相关推荐

  • 暂无文章