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

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

首先,你要有百度云管家客户端(注意是PC版的哦),打开其程序所在目录。

右键点击百度云客户端快捷方式---选择“打开文件位置(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代码如下:

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

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

(方法2)利用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

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

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

(0)

相关推荐

  • 百度网盘如何设置将文件下载到指定的目录地址

    今天给大家介绍一下百度网盘如何设置将文件下载到指定的目录地址的具体操作步骤.1. 打开电脑上的百度网盘APP,通常我们是通过客户端进行下载安装的.2. 进入首页后,选择点击右上角图标,在下拉菜单中点击 ...

  • 如何用网盘分享文件?百度云网盘怎么分享

    我用百度云网盘把文件分享给QQ邮箱,怎么要提取密码啊?可以设置不要提取密码吗?这是我身边很多朋友经常会问我的问题。现在百度云网盘可以成功升至2TB,也是现在主流网盘之一,所以大家都在使用它。那么如何用 ...

  • 百度云下载视频如何保存网盘

    百度云下载视频保存网盘方法如下: 1:在下载的时候,点击页面中的保存至网盘就可以直接保存网盘里面. 2:打开http://pan.baidu.com/,进入网盘,按一下上传文件将视频上传到网盘里面保存 ...

  • 360云盘宣布关停百度网盘会不会关?官方回应了

    昨晚,国内网盘又出了一个大事件,360云盘宣布2017年2月1日起关闭所有的云盘账号并清空数据.这也是今年网盘关停潮平息半年后的又一重磅事件. 关于关闭的原因,360云盘表示,部分不法分子利用360云 ...

  • 百度云正式更名为百度网盘:界面更为扁平化

    今天,百度云正式更名为“百度网盘”,界面也进行了大幅度改版,更为扁平化,也支持更换皮肤. 百度网盘网页版左上角原来的“百度云网盘”已经改名为“百度网盘“,右上角新增个性皮肤的功能,可以选择自己喜爱的背 ...

  • 百度网盘怎么同步更新网盘内容

    百度网盘是我们常用的生活软件之一,有小伙伴问怎么同步更新网盘内容,下面小编介绍一下,具体如下:1. 打开[百度网盘]APP.2. 打开后,点击页面下方的"文件"3. 然后向下滑动页 ...

  • 如何将百度网盘视频下载到U盘

    百度网盘是现在十分常用的一款云存储软件,有些新用户不知道如何将百度网盘视频下载到U盘,接下来小编就给大家介绍一下具体的操作步骤.具体如下:1. 首先第一步先将U盘插入电脑,接着根据下图所示,找到U盘盘 ...

  • 阿里云盘会取代百度网盘吗(百度网盘和阿里云盘)

    金山网盘.迅雷快盘.360云盘.新浪微盘等的先后倒闭,造成了百度网盘的奇货可居,百度网盘用户量一度突破6亿,市占比超过80%.然而,高速发展的百度网盘却也遭受大量用户的诟病,即百度网盘的限速问题,用户 ...

  • 如何在百度首页搜索别人在百度网盘分享的文件

    操作方法 01 百度云(网盘)是目前使用使用功能最广.用户最多.最流行的网盘.百度网盘独特的分享也被许多用户亲睐,但是百度网盘只能搜索自己的文件,不可以搜索别人分享的文件,这为许多用户带来了疑惑.用户 ...