Programmieren - alles kontrollieren 4.935 Themen, 20.621 Beiträge

Eigenschaften beliebiger Dateien mit Visual Basic auslesen.

Mic2004 / 8 Antworten / Flachansicht Nickles

Hallo Leute!

Für ein kleines Tool, welches ich mir mit Visual Basic (als Anfänger) bastle, bin ich momentan auf der Suche nach einer einfachen Möglichkeit, Dateieigenschaften aus einer Datei beliebigen Formats auszulesen. Dabei geht es mir um Dinge wie Dateiname, Speicherort, Dateigröße (MB), Erstellungsdatum, Datum der letzten Änderung.

Bisher habe ich beim googeln durch das Internet nur Beispiele gefunden, wie man das mit MS-Office-Dateien machen kann. Bei Microsoft, kann man beispielsweise ein Beispieltool namens DsoFileSetup_KB224351_x86.exe herunterladen, womit die Befehle um DsoFile erklärt sind. Dieses Toll kann aber nur mit Office-Files umgehen. Möchte man eine andere Datei damit untersuchen zeigt es einfach nichts an. Außerdem ist es für meine Zwecke viel zu ausführlich und kompliziert programmiert. Die vielen "zusätzlichen" Eigenschaften von Office-Dateien brauche ich ja gar nicht.

Ich hoffe von euch kann mir da einer einen einfachen Tipp geben. Für einen kleinen Beispielquellcode, wie man die einzelnen Eigenschaften auf ein Textfeld legt, wäre ich am meisten dankbar.

Grüße,
Mic2004.

bei Antwort benachrichtigen
Mic2004 Nachtrag zu: „Eigenschaften beliebiger Dateien mit Visual Basic auslesen.“
Optionen

Hallo zusammen!

Ich habe es jetzt ganz gut so hinbekommen, wie ich es mir vorgestellt hatte. Man muss eben doch etwas tiefer einsteigen. Mit den VB6-Befehlen kommt man nicht weiter, man muss sich der API bedienen, dann kann man die Eigenschaften, die ich gern sehen wollte, anzeihen lassen.

Komisch verhält sich die Sache nur, wenn die besagte Datei gerade von einem anderen Programm benutzt wird. Da gibt es zwei Möglichkeiten, wie die Befehle dann falsch reagieren.
1.) Wenn die Datei auf demselben Rechner ist, wie das VB-Tool, dann werden alle Daten als "30.12.1899 00:00:00" angezeigt.
2.) Wenn man die Datei übers Netzwerk von einem anderen Rechner öffnet, dann zeigt es ein völlig aus der Luft gegriffenes Datum (was aber real aussieht) an.

Eine Frage aber mal noch. Mit dem Befehl FileLen(C:\Test.txt) kann man sich die Dateigröße (in Byte) einer Datei anzeigen lassen. Leider werden diese Zahlen bei großen Dateien dann recht unübersichtlich. Wie kann man evtl. in die angezeigten Zahlen einen Punkt als Tausendertrennzeiche (dass aus 100000000 eine 100.000.000 wird) einfügen?

Grüße,
Mic2004.

bei Antwort benachrichtigen