Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Größe von Dateiordnern als Attribut
#1
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!
Antworten Top
#2
Size property (FileSystemObject object) | Microsoft Learn
Retrieve file sizes from the file system using Power Query (mssqltips.com)
[-] Folgende(r) 1 Nutzer sagt Danke an Warkings für diesen Beitrag:
  • Sabotaz
Antworten Top
#3
Code:
Sub M_snb()
  MsgBox Format(CreateObject("scripting.filesystemobject").getfolder("G:\OF\").Size / 2 ^ 20, "#,### Mb")
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
[-] Folgende(r) 1 Nutzer sagt Danke an snb für diesen Beitrag:
  • Sabotaz
Antworten Top
#4
Tongue 
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.
Antworten Top
#5
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


Angehängte Dateien
.xls   LW Test Video neu F.xls (Größe: 184,5 KB / Downloads: 5)
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • Sabotaz
Antworten Top
#6
Hallo,
Ergänzend:
Hier im Forum unter "Komplettlösungen" findest Du alternativ noch einen Foto- und Medienmanager....
Gruß KH
[-] Folgende(r) 1 Nutzer sagt Danke an volti für diesen Beitrag:
  • Sabotaz
Antworten Top
#7
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
Antworten Top
#8
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


Angehängte Dateien
.xls   U-Ordner auflisten.xls (Größe: 31 KB / Downloads: 2)
Antworten Top
#9
(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}})
Hat Dir mein Beitrag geholfen? Dann hilf auch Du - mit einer Spende an Wikipediadie Tafeln oder aktion-deutschland-hilft.de
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste