在Google云端硬盘中,您可以使用Sort
拆分按钮,然后选择Quota Used
在其中显示每个文件的大小。
但是,未显示文件夹大小。
我想这实际上是管理Google云端硬盘中文件夹的基本要求。我有一个充满子文件夹和文件的文件夹,我无法递归地总结每个文件的大小。
我需要决定是否删除此文件夹。但是我需要事先知道它的大小。
有什么办法可以查看一个文件夹占用了多少卷?
在Google云端硬盘中,您可以使用Sort
拆分按钮,然后选择Quota Used
在其中显示每个文件的大小。
但是,未显示文件夹大小。
我想这实际上是管理Google云端硬盘中文件夹的基本要求。我有一个充满子文件夹和文件的文件夹,我无法递归地总结每个文件的大小。
我需要决定是否删除此文件夹。但是我需要事先知道它的大小。
有什么办法可以查看一个文件夹占用了多少卷?
Answers:
并非完全按文件夹划分,但是要感谢大礼帽,这很容易找到大文件在哪里:按大小对Google云端硬盘文件进行排序以查找最大文件。
在GDrive左侧面板上,将鼠标悬停Upgrade storage:
现在,点击Drivei右侧的,我们可以找到它:
这是该链接的直接链接:https : //drive.google.com/drive/quota
Not exactly by folder
,不确定这是否太含糊或无法理解
UPD:请参见下文
我为此编写了一个简单的脚本。您可以从此处运行它:https : //script.google.com/macros/s/AKfycbyUvNoXzBMBDE9pnHkLUltliGwjip5x09t3PeTY_1KoXO45F6iz/exec
(如果它停止了,只需再次运行它,它将从它离开的地方继续)
它将在云端硬盘的根目录中创建两个文件,一个显示进度,并在脚本完成后被删除。其他是报告,其中列出了所有文件夹和大小。看起来像这样。
或者,您可以仅将代码复制并粘贴到Google脚本编辑器中,然后从那里运行“ doGet()”函数:
function doGet(){
CreateReportFile();
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:脚本已更新,因此,如果脚本运行时间太长而被停止,只需再次运行它,它就会使用存储在“获取文件夹大小...”文件中的数据从它的左位置恢复。
var f = DriveApp.getRootFolder();
告诉从哪里开始。
不幸的是,答案是否定的。
请参阅以下讨论:http : //productforums.google.com/forum/#!topic/drive/TVtw1_QA6fA
如果您的PC或MAC上已安装Google云端硬盘,请使用Windows资源管理器(PC)或Finder(MAC)轻松检查文件夹大小。我找不到从网络浏览器执行此操作的方法。
ALT+ENTER
)中报告。
由于此处没有(当前有效的)答案,因此我将发布一个不太方便的答案,但至少可以使用,只要文件夹小于15 GB(Google云端硬盘提供的免费存储量)即可。
创建一个新的Google帐户(幸运的是,这不是一个很长的过程),然后与该帐户共享文件夹。在新帐户上,复制共享文件夹,使其也位于该帐户上。您的新Google帐户会告诉您已使用了多少存储空间。那是文件夹的大小。获取该信息后,您可以删除整个文件夹。整个过程可以在几分钟内完成。
我的PC上本地安装了Google驱动器。使用工具JDiskReport(免费的出色工具!),您可以轻松地在文件夹和子文件夹的树中查看用法。