@365tipu

TIP#2177: Jak zjistit velikost složek na Google Disku? 

Zjistit jaké největší soubory máte na Google Disku je poměrně snadné. Google poskytnutý přehled ale zahrnuje jenom soubory, takže pokud byste chtěli najít největší složky, tak máte smůlu.

Zajímavé řešení je využít Google Drive & Sync v počítači – ideálně verzi pro streaming, protože celý Disk Google nechcete určitě stahovat – a funguje to ve Windows i na Mac OS. Po instalaci můžete na kterékoliv složce zobrazit vlastnosti/informace a řekne vám kolik soubory v ní zabírají místa (prohledá a spočítá rekurzivně). 

Není to sice přehled všech složek, ale můžete postupovat od kořenové složky (Můj Disk) a najít největší žrouty a pak jít do jednotlivých složek.

Povedená možnost je s pomoci skriptu, který projde váš Disk Google a udělá vám přehled co na něm zabírá místo – k nalezení jde zde na StackExchange – pokud by snad někdy zmizel, tak tady níže je kmpletní kopie z konce května 2021.

Funguje to, byť narazíte na to, že u velkých disků to budete muset pustit víckrát (umí to pokračovat tam kde skončilo) a také to bude trvat velmi velmi dlouho. 

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;
}

Nevyzkoušenou alternativou je aplikace Storage Analyzer & Disk Usage pro Android – teoreticky by měla ukázat i Disk Google, ale je možné, že se týká jen telefonu. 

Pro Linux můžete připojit (nount) Disk Google (třeba google-drive-ocamlfuse) a tím získáte z počítače možnost nechat projít celou strukturu (obsah se stahovat nebude) a můžete využít například následující příklad pro přehled složek co mají více jak jeden GB.

tree –du -h | grep G]  > „tree.txt“

Což, mimochodem, ještě vede k tomu, že můžete použít kterékoliv z aplikaci pro zjištění toho co vám zabírá místo na disku (pro Windows, nebo pro Mac OS) a máte-li do počítače připojení Disk Google (v Streaming podobě), tak vám to zobrazí kompletní přehled. Opět platí, že pokud máte hodně rozsáhlý DIsk Google, tak to bude trvat poměrně dlouho. 

Další tipy pro Disk Google

Nepotřebujete něco?

Související příspěvky