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

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

方法1

  • 01

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

  • 02

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

  • 03

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

  • 04

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

  • 05

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

  • 06

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

  • 07

    打开导出的文件:

  • 08

    接下来就是怎么把这些信息生成文件树的形式了,下面介绍两种方法: (方法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); } ?> 运行完这个程序后,找到已经建好的文件夹,打开命令行,如下图所示:

  • 09

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

  • 10

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

方法2

  • 01

    上面是一种方法,接下来说第二种方法,按照方法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

  • 02

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

  • 03

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

(0)

相关推荐

  • 怎么提取百度网盘下载地址 提取百度网盘下载地址的详细图文步骤

    百度网盘应该是现在使用量最广泛的网盘了,没有广告用户限制也比较少不过最麻烦的一点是百度网盘下载默认用浏览器下载,当下载一些大文件的事就就麻烦了。 其实百度网盘分享的资源我们可以手动提取其真实下载地址, ...

  • 百度网盘目录生成(百度网盘导出所有目录)

    百度网盘大家都在用,有时候希望把自己的文件目录结构给导出来,能形成一个文件树的形式,无奈网上找了好多资料都无果,大多数说的是在浏览器里控制台下,那个方法已经不适用,而且只能导出一级目录,求人不如求己, ...

  • 教你如何使用百度网盘

    网盘是个很好的产品,能够有效地解决资源存储问题,帮助大家存储自己想要的资源.通过网盘还能彼此分享自己的资源,在线下载自己的资源到本地,上传自己的资源到云端,都是很便捷的功能,下面讲解一下一般用户常用的 ...

  • 教你如何通过百度网盘无需云盘下载大文件

    网盘确实很方便,但是有的时候共享的文件大了,需要通过客户端来下载,这使得很多人不得不放弃下载.今天带来一个小福利,大文件不需要通过客户端也可以下载了. 操作方法 01 我们先打开我们的浏览器,然后创建 ...

  • 手把手教你如何用百度网盘下载BT种子文件

    现在网上好多资源都是种子资源.只有懂得怎么下载这类资源才能得到这些资源.下面就跟着我学习下怎样下载种子资源吧! 操作方法 01 先准备好要下载的种子文件.如下图: 02 百度搜索百度网盘点击并进入. ...

  • 怎么在百度网盘控制下载上传速度

    现如今,许多小伙伴习惯于使用百度网盘进行下载,但是当我们需要进行对下载上传速度进行控制时,我们该怎么做.接下来,小编就教大家如何在百度网盘控制下载上传速度.百度网盘控制下载上传速度的方法1. 第一步, ...

  • 如何在微信百度网盘小程序中创建共享?

    许多小伙伴在微信中会使用到百度网盘小程序,如果我们要在小程序中创建共享,将文件分享给好友应该如何操作呢?今天,小编就教大家在微信百度网盘小程序中创建共享.具体如下:1. 首先在微信中打开百度网盘小程序 ...

  • 如何在微信百度网盘小程序中解散删除创建的共享?

    许多小伙伴都会使用微信里面的百度网盘小程序,有时候会创建共享分享给好友,如果我们要删除解散共享应该如何操作呢?今天,小编就教大家在微信百度网盘小程序中解散删除创建的共享.具体如下:1. 首先我们打开微 ...

  • 如何在微信百度网盘小程序中上传文件?

    许多小伙伴会在微信中使用百度网盘小程序进行文件的上传,那么具体如何操作呢?今天,小编就教大家在微信百度网盘小程序中上传文件.具体如下:1. 首先,我们打开手机中的微信,之后进入到百度网盘小程序中,如图 ...