vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Dateisystem · Dateien allgemein   |   VB-Versionen: VB5, VB626.11.03
Perfekte Funktion für das Dateisystem

Perfekte Funktion für das Dateisystem (kopieren, löschen, verschieben, usw.)

Autor:   Heiko FaissBewertung:     [ Jetzt bewerten ]Views:  21.178 
ohne HomepageSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11kein Beispielprojekt 

Immer wieder sieht man Beispiele, in denen beispielsweise mehr oder weniger umständlich Dateien kopiert werden. Es gibt jedoch eine ganz einfache und superschnelle Möglichkeit, auf dem Dateisystem zu arbeiten.

Hierzu einfach folgenden Verweis aktivieren (Dialog "Projekt - Verweise"):

Microsoft Scripting Runtime

Nachfolgend ein paar Beispiele, die die Einfachheit des FileSystemObject-Objekts demonstrieren:

FSO-Objekte deklarieren

Dim oFSO As FileSystemObject
Dim oFile As File
Dim oDrive As Drive
Dim oFolder As Folder
 
' Neues Objekt erstellen
Set oFSO = New FileSystemObject

.. bis dahin mal. Jetzt ist die Scripting-Engine initialisiert. Tippen Sie jetzt einfach einmal

oFSO.
ein und schauen dann, was es alles für Funktionen gibt.

Datei kopieren: (False = Nicht überschreiben, True = überschreiben)

oFSO.CopyFile "C:\autoexec.bat", "C:\autoexec.bak", False

Verzeichnis kopieren: (False = Nicht überschreiben, True = überschreiben)

oFSO.CopyFile "C:\MyFolder", "C:\MyFolderSave", False

Verzeichnis erstellen:

oFSO.CreateFolder "C:\MeinPfad"

usw... Die Funktionen sind wirklich einfach zu handhaben!

Weiter geht's mit Datei- und Laufwerks-Eigenschaften...

' Größe einer Datei in Bytes
Set oFile = oFSO.GetFile("C:\autoexec.bat")
MsgBox oFile.Size

Genau wie mit der Datei geht es auch mit den Laufwerken:

' Freier Speicherplatz von C:
Set oDrive = oFSO.GetDrive("C:\")
MsgBox oDrive.AvailableSpace

Will man z.B. wissen, wieviel Speicherplatz auf dem Computer insgesamt frei ist, einfachen alle Laufwerke "durchlaufen"...

Dim nBytes As Currency
For Each oDrive In oFSO.Drives
  If oDrive.IsReady = True Then nBytes = nBytes + oDrive.FreeSpace
Next 

Und zu guter Letzt noch die Verzeichnisse.

' Größe eines Ordners
Set oFolder = oFSO.GetFolder("C:\Programme")
MsgBox oFolder.Size

Das Prinzip ist immer das gleiche!
Das ganze geht sogar noch schneller! Man kann z.B. auch schreiben...

MsgBox oFSO.GetFolder("C:\Programme").Size

Das ist wiederum auf alle FSO-Objekte übertragbar. Manchmal bietet es sich Objekt-Variablen zu deklarieren (z.B. in Prozeduren), manchmal aber, wenn man z.B. nur einen Wert benötigt, lässt es sich schneller ohne extra Objekt-Varialbe lösen (also direkt oFSO.GetFile("C:\autoexec.bat").Size).

Weitere Infos zum FSO-Objekt finden Sie im vb@rchiv in der Rubrik Workshops:
 FSO: Arbeiten mit Dateien und Ordner, Teil 1
 FSO: Arbeiten mit Dateien und Ordner, Teil 2
 FSO: Arbeiten mit Dateien und Ordner, Teil 3
 

Dieser Tipp wurde bereits 21.178 mal aufgerufen.

Voriger Tipp   |   Zufälliger Tipp   |   Nächster Tipp

Über diesen Tipp im Forum diskutieren
Haben Sie Fragen oder Anregungen zu diesem Tipp, können Sie gerne mit anderen darüber in unserem Forum diskutieren.

Neue Diskussion eröffnen

nach obenzurück


Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6

Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
- nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten
- Symbol-Galerie mit mehr als 3.200 Icons im modernen Look
Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m.
 
   

Druckansicht Druckansicht Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel