Clever-Excel-Forum

Normale Version: Größe von Dateiordnern als Attribut
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallöchen!

Ich versuche grade eine dynamische Tabelle zu erstellen, die die Namen und Größe von Ordnern und Dateien auflistet. 

Im konkreten Beispiel geht es um "digitalisierte" Filme und Serien meiner Frau, welche sich bei längeren Dienstreisen eine 250GB-Festplatte mit ins Hotel nehmen möchte. Zuvor will sie aus unserer Auswahl an (mittlerweile 2TB) Filmmaterial aus der Tabelle auswählen, die Tabelle berechnet die gesamte Größe und dann schieben wir manuell die Daten auf die Festplatte. Die Dateien befinden sich auf meinem NAS-Laufwerk.

Nach ein wenig Recherche schien Power Query (damit habe ich noch gar keine Erfahrungen) die beste Wahl zu sein:
Excel:
- Daten
- Daten abrufen
- Aus Datei
- Aus Ordner
- Ordner mit Dateien auswählen
- Daten transformieren
- bei Spalte "Extension" auf .mp4 Filtern
- alle Spalten bis auf "Name" und "Attributes" löschen
- Attributes auf Size abändern

Schon entsteht eine Tabelle eines Ordners mit allen Dateien *.mp4 inklusive Größe (in Byte). Damit sind die Ordner für Filme schonmal abgegessen - funktioniert Prima! Jetzt möchte ich gern auch Serien auflisten, diese sind allerdings Staffelweise in Ordnern untergebracht und genau so soll es dann auch dargestellt werden - nicht als einzelne Dateien, der Übersicht wegen.

Nun also zum eigentlichen Problem:
Wie vielleicht schon einigen aufgefallen ist, zeigt Windows die Gesamtgröße eines Ordners im Explorer nicht an, weil diese vermutlich erst anhand des Inhaltes berechnet werden muss (da sich stets etwas ändert?!), wenn man es manuell anstößt. Genau so reagiert dann logischerweise auch Excel, wenn ich also statt .mp4-Dateien mir Ordner mit Power Query auflisten lassen möchte.
So hadere ich also mit einer Idee, die irgendwie nicht sinnvoll erscheint: 
Inhalt eines jeden Ordners als eigene Tabelle auflisten lassen und dann die Gesamtgröße des Inhaltes von Excel berechnen lassen, dann eine weitere Tabelle (mit = Folder.Contents("...") ) mit den Namen der Ordner anlegen, dahinter die berechnete Gesamtgröße?!
Damit würde nicht nur die Dynamik komplett verloren gehen, sondern es entstünden auch sehr sehr viele Tabellen und es erscheint mir nicht der richtige Weg zu sein...

Gibt es da noch eine andere Möglichkeit? Oder ist das vielleicht gar nicht realisierbar, weil Ordnergrößen jedes Mal neu berechnet werden müssen? Kann man vielleicht bei einer Indizierung von Windows die Ordnergrößen regelmäßig berechnen lassen (Dazu werde ich mal nachforschen und melde mich!)?

Danke euch vielmals!
Code:
Sub M_snb()
  MsgBox Format(CreateObject("scripting.filesystemobject").getfolder("G:\OF\").Size / 2 ^ 20, "#,### Mb")
End Sub
Dankeschön an euch zwei schonmal! Dann muss ich mich erstmal etwas tiefer mit der Materie VBA beschäftigen  Blush Aber das sieht gut aus, kann mir vorstellen, dass es genau das behandelt, was ich brauche.
Hallo

vlelleicht hilft dir meine Video Datei weiter. Sie listet Laufzeit, Bitrate, Bildformat und Bilderzahl mit auf.
Einfach mal reinschauen, in Zelle C2 deinen Ordnerpfad eingeben und komplett auflisten lassen.
Die Tabelle0 listet den Ordner schneller auf, aber ohne die Zusatz Informationen!

Alle Tabellen kann man in die Übersicht laden.
Wenn du sie nach Video Namen sortierst kannst du doppelte suchen.

mfg Gast 123
Hallo,
Ergänzend:
Hier im Forum unter "Komplettlösungen" findest Du alternativ noch einen Foto- und Medienmanager....
Gruß KH
Als Abschluss des Themas möchte ich die ursprüngliche Frage kurz und knapp beantworten:

Nein, mit PowerQuery lässt sich nicht direkt die Ordnergröße als Attribut auslesen.

Es gab einige Helfer, die mir direkt und persönlich geholfen haben und dafür bin ich auch dankbar, allerdings würde diese Idee so dermaßen ausarten, dass es an sich die Mühe und Zeit für diesen Zweck absolut nicht wert ist. Es ist lieb, dass so geholfen wird, doch wäre eine kompaktere Lösung* mein Ziel gewesen. Wenn Excel diese nicht hergibt, dann ist es die Mühe für zumindest meine Zwecke nicht wert.

*die ich auch verstehen und nachvollziehen kann, dieses Level ist mir allerdings grade noch zu hoch
Hallo

ic h habe noch ein Programm im Angebot das NUR Ordner + Unterordner  ohne -Dateien auflistet.
Die Ordnergrösse in Size wird Byt getreu mit aufgelistet.  Vielleicht hilft dir das weiter.

mfg Gast 123
(14.11.2023, 20:34)Sabotaz schrieb: [ -> ]Nein, mit PowerQuery lässt sich nicht direkt die Ordnergröße als Attribut auslesen.

Mit PQ kannst du nach der Spalte "Folder Path" gruppieren und als Funktion die Summe über das Attribut Size bilden:
Code:
= Table.Group(#"Erweiterte Attributes", {"Folder Path"}, {{"Ordnergröße", each List.Sum([Attributes.Size]), type number}})