In Google Drive kun je de Sort split-knop gebruiken en Quota Used om de grootte van elk bestand daar weer te geven.

De mapgroottes worden echter niet weergegeven.

Ik denk dat het echt een basisvereiste is om mappen in Google Drive te beheren. Ik heb een map vol submappen en bestanden, en ik kan de grootte van elk bestand niet recursief samenvatten.

Ik moet beslissen of ik deze map wil verwijderen of niet. Maar ik moet van tevoren de grootte weten.

Is er een manier om te zien hoeveel volume een map heeft ingenomen?

Opmerkingen

  • De Google Drive File Stream-app vertelt je de grootte van een google drive / teamdrive-map. Je hoeft ‘ zelfs niet de map te synchroniseren. Op Mac ” Krijg informatie ” over de map en het laadt de volledige grootte van de map
  • Als dat Google Drive is gespiegeld naar uw schijf kunt u tools zoals wiztree, windirstat … gebruiken om snel de grootte van alle mappen en submappen te zien.

Antwoord

UPD: toen Google begon met het blokkeren van niet-geverifieerde scripts, is de enige manier om het te gebruiken, de broncode naar uw scripteditor te kopiëren en te plakken. En verificatie vereist wat extra inspanning, dus ik deed het niet het nog niet.

UPD2: als je veel bestanden hebt, zal het de tijdslimiet voor uitvoering bereiken en stoppen; je zult het meerdere keren moeten draaien (je kunt hiervoor ook een automatische getimede trigger instellen)

Ik heb hiervoor een eenvoudig script geschreven. Je kunt het vanaf hier uitvoeren: https://script.google.com/macros/s/AKfycbyUvNoXzBMBDE9pnHkLUltliGwjip5x09t3PeTY_1KoXO45F6iz/exec

(als het wordt gestopt, voer je gewoon uit het nogmaals, en het zal verder gaan waar het gebleven was)

Het zal twee bestanden aanmaken in de root van uw Drive, één geeft de voortgang weer en wordt verwijderd nadat het script is voltooid. Anders is het rapport met alle mappen en formaten. Het ziet er zo uit. Rapport Google Drive-mapgroottes

Of u kunt gewoon kopiëren en plak de code in de Google Script-editor en voer de functie “doGet ()” vanaf daar uit:

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: het script is bijgewerkt zodat als het ook wordt uitgevoerd lang en is gestopt, voer het gewoon nog een keer uit en het zal hervatten vanaf waar het was gebleven, met behulp van gegevens die zijn opgeslagen in het bestand “Mapformaten ophalen …”.

Opmerkingen

  • Geweldig script, maar ik heb het niet kunnen autoriseren via de link of rechtstreeks vanaf scripts.google.com. Nadat ik akkoord ben gegaan met de rechten, ga ik terug naar de login voor autorisatie.
  • Ik weet niet zeker waarom, ik ‘ heb geprobeerd een vriend ‘ s account en het werkt. Lijkt op een algemeen probleem met uw account, of misschien is het ‘ gewoon browsercache? Probeer anoniem venster te gebruiken (Ctrl + Shift + N)
  • @jj. Ik heb het script bijgewerkt, zodat het nu kan worden hervat waar het is gestopt. Voer het maar een paar keer uit.
  • Geweldig werk aan het script! Ik kon ‘ de link niet laten werken, maar ik kon de code kopiëren en in Google App Scripts plakken en uitvoeren. Ik moest het een paar keer herstarten vanwege de time-outbeperking van Google ‘, maar uiteindelijk werkte het. Bedankt!
  • @ahorn Ja, het script zoekt naar elk bestand en elke map onder ” / ” pad, dat is ” Mijn schijf “. U kunt de grootte van elke submap zien onder ” / “, maar wat is het pad voor uw ” computer ” – Ik weet het niet ‘ niet. U kunt proberen deze regel te wijzigen: var f = DriveApp.getRootFolder(); die vertelt waar u moet beginnen.

Antwoord

Update 2020

Als u tegenwoordig op n GB of nn GB used klikt, gaan we naar de lijst met de grootste bestanden op onze Drive :

update beëindigen



Niet per map maar geweldig om te vinden waar de grote bestanden zijn, dankzij deze mooie hat-tip: Sorteer uw Google Drive-bestanden op grootte om de grootste bestanden te vinden .

Beweeg in het linkerdeelvenster van GDrive de muisaanwijzer Opslag upgraden :

waar te klikken

Klik nu op i rechts van Drive , en daar hebben we het :

toont grootste bestanden Dit is de directe link daarvoor: https://drive.google.com/drive/quota

Opmerkingen

  • het toont alleen bestanden die geen map zijn.

Antwoord

Helaas is het antwoord nee.

Zie deze discussie: http://productforums.google.com/forum/#!topic/drive/TVtw1_QA6fA

Reacties

  • Ik denk dat dit min of meer het antwoord is, afhankelijk van hoe de vraag van OP ‘ s vraag geïnterpreteerd moet worden – met Google Drive ‘ s website? Absoluut niet. Maar uiteindelijk vroeg hij: ” Is er een manier om te zien hoeveel volume een map heeft ingenomen? “. Welnu, binnen de ” hoe dan ook “, ja. U kunt de GDrive API gebruiken om bestandsgroottes recursief op te tellen; je kunt hier ook het script gebruiken dat is gemaakt op basis van een ander antwoord, software van derden, enz.
  • Google Drive File Stream, het ” bedrijf ” optie op de downloadwebsite, zal u vrij snel mapgroottes op uw computer lokaal tonen. i.imgur.com/7JuL3Jf.png

Antwoord

Je kunt Python gebruiken. Dit antwoord is geïnspireerd door Aditya , dus stem alsjeblieft zijn antwoord daar omhoog. Ik geef hieronder verbeterde code, die alleen de grootste mappen kan weergeven. (Het is mijn eerste keer dat ik in Python codeer!)

In Google Colab , maak een nieuw notitieboek aan, klik op het ” Files ” pictogram in de linkerzijbalk, en ” Mount Drive “. U moet de Google Drive File Stream verifiëren om toegang te krijgen tot uw Google-account en het authenticatietoken naar het Colab-notitieblok kopiëren.

Voer vervolgens deze code uit:

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() 

Alle mapgroottes worden opgeslagen in ” all.txt “. Merk op dat de -h optie (in tegenstelling tot -sh) submappen toont. Vervolgens is "G\t" de tekenreeks waarnaar wordt gezocht (een hoofdletter G, gevolgd door een tab), en die regel wordt afgedrukt. Dat isoleert de mappen die minimaal 1 GB groot zijn. (U kunt "M\t" gebruiken voor mappen met een megabyte-grootte.) Deze grootste mappen worden opgeslagen in ” GB.txt “.

Reacties

  • ik hoop dat je een manier kunt vinden om de premie te delen met @aditya – ik heb een e-mail van hen over hun antwoord, en ze zeiden dat ze ‘ gewoon blij waren dat het nuttig zou kunnen zijn … ook leuk werk met snel leren van Python! problemen … 1. het du duurt erg lang om te voltooien in mijn geval (ongeveer 200 GB) zowel hier als in zijn eenvoudiger script natuurlijk. misschien kun je de python verbeteren om hiermee rekening te houden en geleidelijker te zijn. 2. er ‘ is een probleem rond het volgen van symlinks dat moeilijker te behandelen is: als het er teveel volgt, zullen de nummers verkeerd zijn. 3. Idealiter wil ik het gebruik van quota zien. ander beest!
  • tot slot 4. heel interessant idee over het gebruik van bestanden om de staat te behouden … maar >> heeft waarschijnlijk ‘ t werkt zoals je bedoeld had, aangezien het ‘ een simpele toevoeging is en het opnieuw uitvoeren van de code ‘ niet verder gaat waar het stopte , maar ren liever gewoon weer. ik wilde weer landgoederen: heel erg bedankt voor je inspanningen !! het ‘ is al zo nuttig (zelfs als ik ‘ m nog steeds wacht op het daadwerkelijke resultaat, kan ik me al voorstellen hoe goed het zal zijn) 😁😘
  • Bedankt. Ik denk dat de looptijd te maken heeft met de kracht van cloud computing in Colab. Ik was verrast om te zien dat Aditya twee dagen geleden geen antwoord kon geven op deze vraag ‘ ( zie de pagina met privileges ). Misschien is er een beperking op deze vraag die ik ‘ niet kan zien. Er was nog 6 uur over van de bounty-uitstelperiode en er ligt veel gratis rep voor het oprapen! Ik heb zijn codesuggestie enigszins verbeterd, maar toekomstige lezers, gelieve een upvote Aditya ‘ s bericht te geven. Hij zegt tenminste dat hij ‘ er blij mee is.
  • Door ” quotagebruik ” heb je het over het percentage dat het in beslag neemt van de totale Drive-ruimte, of heb je het over het krijgen van een lijst met de grootste individuele bestanden?
  • tot op heden, i ‘ Ik ben nog bezig met het opschonen van mijn schijf, en dit script werkte echt goed. met al zijn gebreken, heeft me enorm geholpen omdat er ‘ gewoon niets anders is dat zelfs maar werkt! Dat gezegd hebbende, heb ik er een kleine wijziging in aangebracht om het gemakkelijker te maken om de resultaten te zien. ik denk dat het ‘ gemakkelijker zal zijn om een bewerking voor te stellen.

Answer

Update, september 2020:

Er is nu een Android-app die kan dit voor u doen, genaamd Storage Analyzer & Schijfgebruik ,

Het geeft u een gedetailleerde boomstructuur van de hele map hirearchy, net als WinDirStat op Windows of (KDirStat op GNU / Linux of Disk Inventory X op macOS).

Zo zag het eruit toen ik het draaide:

voer hier een afbeeldingbeschrijving in

Als je geen toegang hebt tot een Android-apparaat, er zijn veel Android-emulators voor desktop en zelfs in-browser (ga voorzichtig te werk bij het laatste, aangezien u zich met uw Google-account moet aanmelden op een systeem waarover u geen controle heeft.)

Pas op: Blijkbaar heeft deze app een ontwerpfout, het zal constant op de voorgrond moeten staan terwijl het voert zijn analyse uit (die s ome tijd als je Google Drive-map veel inhoud bevat.)

Reacties

  • Je zou de inhoud moeten kopiëren om de bestanden te bezitten , maar dat is niet haalbaar als er meerdere mappen in de betreffende bovenliggende map staan.
  • @ahorn Je kunt een map met submappen in Drive kopiëren.
  • @Revetahw hoe doe je dat ? Wanneer ik met de rechtermuisknop op een map klik, is er geen optie om ” Een kopie ” te maken zoals bij bestanden.
  • @ahorn Wow, je ‘ hebt gelijk
  • @cregox Oh, dus deze app stopt met de verwerking ervan als je zelfs halverwege het programma overschakelt naar een andere app. werkwijze? Dat is nogal vervelend, hoewel ik denk dat ik het niet heb gemerkt omdat mijn proces zo snel ging dat ik geen tijd had om over te schakelen naar een andere app. Ik denk dat het een goede oplossing zou zijn om deze app op een Android-emulator (of een gevirtualiseerde Android-in-Android) uit te voeren, zodat de app denkt dat deze altijd in op de voorgrond, zelfs als u uw Android-apparaat tijdens het verwerken voor iets anders moet gebruiken. Op die manier kan de lange verwerkingstijd acceptabel zijn.

Answer

Als u Google Drive op uw pc heeft geïnstalleerd of MAC, gebruik Windows Verkenner (pc) of Finder (MAC) om eenvoudig de mapgrootte te controleren. Ik kon geen manier vinden om het vanuit een webbrowser te doen.

Opmerkingen

  • De mappen die ik ‘ ve geselecteerd voor Google-schijf op mijn pc bedraagt > 6 GB. De Google Drive-website zegt echter dat ze slechts 3,7 GB zijn (volledig gesynchroniseerd). Het zou leuk zijn om mapgroottes / geen bestanden binnen enz. Te controleren, aangezien ik ‘ niet overtuigd ben dat al mijn bestanden zijn gesynchroniseerd!
  • @ user56353 Pcs zullen soms de schijf rapporteren gebruikte ruimte. Schijfruimte wordt toegewezen in hele blokken, zoals 4k in grootte, en als een bestand slechts 1k is, gebruikt het nog steeds 4k op schijf. Duizenden kleine bestanden kunnen veel verspilde ruimte in beslag nemen. Google Drive rapporteert mogelijk alleen de werkelijke bestandsgrootte. Ook kan Google Drive fotos & videos comprimeren of bestanden tussen gebruikers ontdubbelen als ze hetzelfde bestand zijn. Controleer de werkelijke bestandsgrootte versus de grootte op schijf. Windows 8.1 rapporteert beide in Bestandseigenschappen (ALT+ENTER).
  • In ons geval gebruiken we ‘ Drive File Stream, en wilde de grootte van de map controleren voordat deze naar de lokale computer werd gesynchroniseerd.
  • @ mm32993 Dit antwoord is niet ‘ niet nuttig, omdat in mijn situatie Ik wil controleren hoeveel opslagruimte een grote map (tot 80GB) in beslag neemt zonder deze te synchroniseren.
  • @ahorn Ik denk dat je de context hebt gemist. Drive File Stream downloadt geen items, dus we kunnen de volledige grootte van de map niet zien. We willen alles van een specifieke map synchroniseren om ons voor te bereiden om offline te werken, maar we ‘ kunnen de grootte van de map niet zien voordat we dit deden. 🙂

Answer

Als je Linux gebruikt,

  1. Koppel uw Google Drive-account als een netwerkstation op uw computer met behulp van het google-drive-ocamlfuse -pakket (in Alessandro Strada “s PPA ). Opmerking: de bestanden worden niet gedownload (tenzij u ze opent), dus deze methode gebruikt niet veel van uw gegevensruimte.

  2. Sla de maphiërarchie, met formaten, op als een tekstbestand. Ik raad je aan om alleen de mappen groter dan 1GiB te inspecteren, omdat dat het gemakkelijker maakt om de grootste mappen te vinden (voor het geval je schijfruimte wilt verminderen):

    cd "/home/username/Google-Drive" # (of waar de schijf ook is aangekoppeld)

    tree --du -h | grep G] > "tree.txt"

    waar u misschien meer specifiek wilt zijn over waar het .txt -bestand is opgeslagen.

    Opmerking: wees geduldig met het tree commando. Als je veel in opslag hebt, duurt het even.

  3. Print het tekstbestand uit, inspecteer en geniet ervan!

Reacties

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *