在Google云端硬盘中,您可以使用Sort拆分按钮,然后选择Quota Used在此处显示每个文件的大小。

但是,文件夹大小未显示。

我想这实际上是管理Google云端硬盘中文件夹的基本要求。我有一个充满子文件夹和文件的文件夹,我无法递归总结每个文件的大小。

我需要决定是否删除此文件夹。但是我需要事先知道它的大小。

有没有办法查看一个文件夹占用了多少卷?

评论

我不确定为什么国防部不允许我回答这个问题,因为我有必要的代表,但我将提供评论:这不是确切的答案,因为它不是文件夹大小,但可以帮助您找到大文件。如果将鼠标悬停在Web应用程序屏幕左下方的配额上,它将显示您的配额和一个小的蓝色“ i”图标。单击该按钮,它将按照最大到最小的顺序对所有文件进行反向排序。希望这会有所帮助,并且令人讨厌的是Google没有提供实际的文件夹大小。

@ChuckClaunch您有协会奖金。对于受保护的问题,必须在网站上获得10点声誉。这就是为什么您无法回答这个受保护的问题的原因。
要回答Chuck的问题,在一个论坛上做足够的工作即可赚取(IIRC)100积分,您将在加入的每个论坛中自动获得前100积分。这样,您可以回答问题。一旦知道了这一点,我就不再害怕去其他论坛。

Google云端硬盘文件流应用会告诉您google硬盘/团队硬盘文件夹的大小。您甚至不需要同步文件夹。在Mac上,只需在文件夹上“获取信息”,它将加载文件夹的完整大小

如果该Google云端硬盘已镜像到您的磁盘,则可以使用wiztree,windirstat ...之类的工具来快速查看所有文件夹和子文件夹的大小。

#1 楼

UPD:随着Google开始阻止未经验证的脚本,使用它的唯一方法是将源代码复制粘贴到脚本编辑器中。验证需要付出额外的努力,所以我还没有做。

UPD2:如果您有很多文件,它将达到执行时间限制并停止;您将需要多次运行它(您也可以为此设置自动定时触发器)

我为此编写了一个简单的脚本。您可以从此处运行它:https://script.google.com/macros/s/AKfycbyUvNoXzBMBDE9pnHkLUltliGwjip5x09t3PeTY_1KoXO45F6iz/exec

(如果停止,只需再次运行,它将从该位置继续左侧)

它将在云端硬盘的根目录中创建两个文件,一个显示进度,并在脚本完成后被删除。其他是报告,其中列出了所有文件夹和大小。看起来像这样。

或者您可以将代码复制并粘贴到Google脚本编辑器中,然后从那里运行“ doGet()”函数:

function doGet(){
  var progressFileCompletedFound = DriveApp.getRootFolder().searchFiles("title contains 'Folder Sizes Report Completed'");
  if(progressFileCompletedFound.hasNext()) {
  return ContentService.createTextOutput("Report file was already created in your Drive's root folder, exiting.");
  }
  CreateReportFile();
  DriveApp.createFile("Folder Sizes Report Completed.txt", "You may safely delete this file.");
  return ContentService.createTextOutput("Report file created in your Drive's root folder");
}

function CreateReportFile() {
  var reportContent = CreateReport();
  DriveApp.createFile('Folder Sizes Report.txt', reportContent);
}

function CreateReport(){
  var reportContent = "";
  var progressFileFound = DriveApp.getRootFolder().searchFiles("title contains 'Getting Folder Sizes,'");
  var progressFile;
  var report=[];
  if(progressFileFound.hasNext()) {
      progressFile = progressFileFound.next();
      var json = progressFile.getBlob().getDataAsString();
      try{
        report = JSON.parse(json);
      } catch(Exception) {
         DriveApp.removeFile(progressFile);
         progressFile = DriveApp.createFile("Getting Folder Sizes, 0 processed...", " ");
      }
    }
  else {
      progressFile = DriveApp.createFile("Getting Folder Sizes, 0 processed...", " ");
    }
  var f = DriveApp.getRootFolder();
  AddFolderToReport(report, f, "/", progressFile);
  DriveApp.removeFile(progressFile);
  reportContent += "TotalSize MB   FilesSize MB   Path \r\n";
  for(var i=0; i<report.length; i++)
    reportContent += Utilities.formatString("%12.2f ", (report[i].totalSize / (1024*1024))) + Utilities.formatString("%11.2f      ",(report[i].filesSize / (1024*1024))) + report[i].folderPath + "\r\n";
  return reportContent;
}

function AddFolderToReport(report, currentFolder, currentPath, progressFile){
  var report1 = [];
  for(var i=0; i<report.length; i++)
    if(report[i].folderPath == currentPath)
       return report[i].totalSize;

  var fChildren = currentFolder.getFolders();
  var totalSize = 0;
  while(fChildren.hasNext() && currentPath.length < 2000){
    var nextF = fChildren.next();
    totalSize += AddFolderToReport(report, nextF, currentPath + nextF.getName() + "/", progressFile);
  }
  var filesSize = 0;
  var files = currentFolder.getFiles();
  while(files.hasNext()){
    filesSize += files.next().getSize();
  }
  totalSize += filesSize;
  report.push({folderPath: currentPath, filesSize: filesSize, totalSize: totalSize});
  progressFile.setName("Getting Folder Sizes, " + report.length + " processed...");
  progressFile.setContent(JSON.stringify(report));
  return totalSize;
}


UPD:脚本已更新,因此,如果脚本运行时间太长而被停止,只需再次运行它,它就会使用存储在“获取文件夹大小...”文件中的数据从它的左边位置恢复。

评论


很棒的脚本,但是我无法通过链接或直接从scripts.google.com对其进行授权。同意权限后,我返回到登录进行授权。

–user5389726598465
19年1月27日,11:01

不知道为什么,我已经尝试了朋友的帐户,并且可以正常工作。您的帐户看起来像是通用问题,还是仅仅是浏览器缓存?尝试使用匿名窗口(Ctrl + Shift + N)

– alexkovelsky
19年1月28日在14:16



@jj。我已经更新了脚本,因此它现在可以从停止处恢复。只需运行几次。

– alexkovelsky
19年2月1日在23:30

脚本上的出色工作!我无法使用该链接,但能够将代码复制并粘贴到Google App脚本中并运行它。由于Google的超时限制,我不得不重新启动它几次,但最终终于成功了。谢谢!

–frakman1
19年3月11日在17:30

@ahorn是的,脚本会在“ /”路径(即“我的云端硬盘”)下查找每个文件和文件夹。您可以在“ /”下看到任何子文件夹的大小,但是“计算机”的路径是什么-我不知道。您可以尝试修改此行:var f = DriveApp.getRootFolder();告诉从哪里开始。

– alexkovelsky
19年5月3日在18:06

#2 楼

2020年更新

现在,单击n GB of nn GB used会将我们带到云端硬盘上的最大文件列表:



结束更新



不是这个文件夹,但是很容易找到大文件在哪里,这要归功于这个漂亮的帽子提示:按大小对Google Drive文件进行排序以找到最大的文件。

在GDrive左侧面板上,悬停升级存储:



现在单击Drive右侧的i,我们有了它:


这是它的直接链接:https://drive.google.com/drive/quota

评论


它只显示文件,不显示文件夹

– shareef
16-09-14在10:30

我还是投票支持你的答案谢谢

– shareef
17年5月6日在16:45

是的,仍然是有用的提示。 F *** Google严格的政策,即不让我们知道文件夹的大小

–美联储Zee
19-10-20在1:36

@ luca76,它仍然有效,您可以检查我的更新吗?

–brasofilo
4月23日19:04

#3 楼

不幸的是,答案是否定的。

请参见以下讨论:
http://productforums.google.com/forum/#!topic/drive/TVtw1_QA6fA

评论


我认为这大概是答案,这取决于如何解释OP的问题-使用Google云端硬盘的网站?绝对没有但是最后,他问:“有没有办法查看一个文件夹占用了多少卷?”。好吧,以“任何方式”,是的。您可以使用GDrive API递归增加文件大小;您还可以使用此处其他答案中的脚本,第三方软件等。

–卡尔斯·阿尔科利亚
19/12/14的1:13

下载网站上的“业务”选项Google云端硬盘文件流将相当快地向您显示本地计算机上的文件夹大小。 i.imgur.com/7JuL3Jf.png

–雷·福斯(Ray Foss)
4月1日23:07

#4 楼

2020年9月更新:
现在有一个Android应用程序可以为您执行此操作,称为存储分析器和磁盘使用情况,
它为您提供了整个文件夹级别的详细结构树,就像Windows上的WinDirStat或(在GNU / Linux上为KDirStat或在macOS上为Disk Inventory X)。
运行时是这样的:

如果您无权使用Android设备,有许多适用于台式机甚至浏览器内的Android仿真器(请谨慎使用,因为您将不得不在无法控制的系统上使用Google帐户登录。)
请注意:显然,此应用存在设计缺陷,在运行分析时,它必须始终处于前台(如果您的Google云端硬盘文件夹中包含很多内容,则可能需要一些时间。)

评论


我们需要所有文件夹大小

–saber tabatabaee yazdi
18/12/4在6:06

为了拥有这些文件,可能需要复制内容,但是如果有问题的父文件夹中有多个文件夹,则这是不可行的。

–ahorn
19年4月30日在4:30

@ahorn您可以在云端硬盘中复制包含子目录的文件夹。

– Revetahw说恢复Monica
19年4月30日在4:32

@ahorn Wow,你是对的

– Revetahw说恢复Monica
19年5月1日,3:24

@cregox哦,所以,即使您在过程中切换到另一个应用程序,此应用程序也会停止其处理吗?这很烦人,尽管我想我没有注意到,因为我的过程太快了,以至于我没有时间切换到另一个应用程序。我想一个不错的解决方案是在Android模拟器(或虚拟化的Android内置Android)上运行该应用程序,以便该应用程序认为它始终处于前台,即使您需要将Android设备用于其他用途正在处理中。这样长的处理时间是可以接受的。

– Revetahw说恢复Monica
9月6日19:51



#5 楼

您可以使用Python。该答案的灵感来自于阿迪亚(Aditya),因此请在此处提高他的答案。我在下面提供了改进的代码,该代码只能显示最大的文件夹。 (这是我第一次使用Python进行编码!)
在Google Colab中,创建一个新笔记本,单击左侧边栏中的“文件”图标,然后单击“安装驱动器”。您需要对Google云端硬盘文件流进行身份验证才能访问您的Google帐户,并将身份验证令牌复制到Colab笔记本中。
然后运行以下代码:
import re
all = open("all.txt", "w")
! du -h /content/drive/My\ Drive/* >> all.txt
all.close()
GB = open("GB.txt", "w")
for line in open("all.txt", "r"):
    if re.search("G\t", line):
        GB.write(line)
        print(line)
GB.close()

所有文件夹的大小都会保存在“ all.txt”中。请注意,-h选项(而不是-sh)显示子文件夹。然后,"G\t"是要搜索的字符串(大写G,后跟制表符),并打印该行。这样可以隔离至少1GB大的文件夹。 (您可以将"M\t"用于兆字节大小的文件夹。)这些最大的文件夹存储在“ GB.txt”中。

评论


我希望您能找到一种与@aditya共享赏金的方法-我收到了他们关于他们答案的电子邮件,他们说他们很高兴这可能有用...此外,快速进行python学习也很不错!问题... 1.在我的案例中,du花费了很长的时间(大约200gb),当然还有他的简单脚本。也许您可以改进python来解决这个问题,并且更加循序渐进。 2.跟随符号链接存在一个问题,该问题更难处理:如果跟随过多,则数字将是错误的。 3.理想情况下,我想查看配额使用情况。不同的野兽!

– Cregox
9月13日晚上10:41

最后,4.关于使用文件保持状态的非常有趣的主意...但是>>可能无法按预期工作,因为这是一个简单的追加,并且再次运行代码不会从其停止的地方继续,而是再次运行。我想再次遗产:非常感谢您的努力! as它确实是有用的(即使我仍在等待查看实际结果,我已经可以想象它会有多好)

– Cregox
9月13日晚上10:44

谢谢。我认为运行时间与Colab中的云计算能力有关。令我惊讶的是,两天前Aditya无法回答这个问题(请参阅特权页面)。我看不到这个问题的限制。赏金宽限期还剩6个小时,还有很多免费代表争夺战!我确实改进了他的代码建议,但是,将来的读者请支持Aditya的帖子。至少他说他对此感到满意。

–ahorn
9月13日10:52



通过“配额使用率”,您是在说占整个驱动器空间的百分比,还是在说获取最大的单个文件列表?

–ahorn
9月13日晚上10:56

到目前为止,我仍在清理驱动器,此脚本的效果非常好。由于存在所有缺陷,因此即使没有其他方法,也对我有极大的帮助!话虽这么说,我确实做了一些小的修改,以使查看结果更容易。我认为提议编辑会更容易。

– Cregox
12月16日21:37

#6 楼

如果您的PC或MAC上已安装Google云端硬盘,请使用Windows资源管理器(PC)或Finder(MAC)轻松检查文件夹大小。我找不到从Web浏览器执行此操作的方法。

评论


我在PC上为Google驱动器选择的文件夹大于6 GB。但是谷歌驱动器网站说,它们只有3.7 GB(完全同步)。检查文件夹大小/不包含任何文件,将是一个很好的选择,因为我不相信所有文件都已同步!

–user56353
2014年1月5日,11:51

@ user56353 PC有时会报告所使用的磁盘空间。磁盘空间是按整个块分配的,例如大小为4k,如果文件只有1k,它仍会在磁盘上使用4k。成千上万的小文件可能会浪费大量的空间。 Google云端硬盘可能只会报告实际文件大小。此外,如果用户使用的是同一文件,则Google云端硬盘可能会压缩照片和视频,或者在用户之间删除重复的文件。检查实际文件大小与磁盘大小。 Windows 8.1在“文件属性”(ALT + ENTER)中均报告。

– Chloe
17年9月29日在17:20

在本例中,我们使用的是Drive File Stream,并且想要在将文件夹同步到本地计算机之前检查文件夹的大小。

–达斯汀·格雷厄姆(Dustin Graham)
19年3月11日在18:06

@ mm32993这个答案没有用,因为在我的情况下,我想检查一个大文件夹(最大80GB)正在占用的存储量而不同步它。

–ahorn
19年4月30日在4:37

@ahorn我想您错过了上下文。驱动器文件流不下载项目,因此我们看不到文件夹的完整大小。我们希望同步特定文件夹中的所有内容,以准备脱机工作,但在此之前我们无法查看文件夹的大小。 :)

–达斯汀·格雷厄姆(Dustin Graham)
19年4月30日在18:00

#7 楼

如果您使用Linux,请使用google-drive-ocamlfuse软件包(在Alessandro Strada的PPA中)将您的Google Drive帐户作为计算机上的网络驱动器安装。注意:文件将不会下载(除非您打开它们),因此此方法不会占用您的大量数据。


将文件夹层次结构及其大小保存为文本文件。我建议您只检查大于1GiB的文件夹,因为这样可以更轻松地找到最大的文件夹(以防您要减少磁盘空间):
cd "/home/username/Google-Drive" tree --du -h | grep G] > "tree.txt"
您可能想更详细地了解.txt文件的存储位置。
注意:请耐心使用tree命令。如果您有很多存储空间,则需要一段时间。


打印出文本文件,检查并享用!



评论


从我的角度来看,这很有希望,但是其他人提出了一个简单得多的解决方案:webapps.stackexchange.com/questions/146178/…

– Cregox
9月12日20:31