vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Dateisystem · Ordner & Verzeichnisse   |   VB-Versionen: VB5, VB619.02.02
Ordner kopieren/verschieben oder löschen

Mit dem FileSystemObject ein Leichtes - das Kopieren, Verschieben oder Löschen eines kompletten Ordners.

Autor:   Dieter OtterBewertung:     [ Jetzt bewerten ]Views:  51.531 
www.tools4vb.deSystem:  Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Wie würden Sie das Problem angehen, wenn es heisst einen kompletten Ordner mit allen darin befindlichen Dateien und Unterordner zu kopieren, verschieben oder zu löschen?

Zunächst per Dir-Funktion alle Dateien und Ordner ermitteln - das ganze rekursiv, da ja innerhalb der Ordner weitere Ordner und Dateien gespeichert sein könnten? Oder vielleicht über die API-Funktion SHFileOperation (siehe hierzu  Kopieren, Verschieben, Löschen wie im Explorer) ?

Oder mit dem FileSystemObject!
Das FileSystemObject ist Bestandteil der Microsoft Scripting Runtime-DLL und bietet sehr viele Funktionen mit dem Umgang von Ordnern und Dateien. Um das FileSystemObject nutzen zu können, setzen Sie zunächst einen Verweis auf besagte DLL (Menü Projekt - Verweise).

Ordner kopieren

' Ordner kopieren
Dim FSO As New FileSystemObject
Dim Folder As Folder
Dim sFolderPath As String
Dim sDestPath As String
 
' Welcher Ordner soll kopiert werden?
sFolderPath = "d:\temp\test\"
 
' Wohin soll der Ordner kopiert werden?
sDestPath = "e:\"
 
' Kopiervorgang starten
Set Folder = FSO.GetFolder(sFolderPath)
Folder.Copy sDestPath

Ordner verschieben

' Ordner verschieben
Dim FSO As New FileSystemObject
Dim Folder As Folder
Dim sFolderPath As String
Dim sDestPath As String
 
' Welcher Ordner soll verschoben werden?
sFolderPath = "d:\temp\test\"
 
' Wohin soll der Ordner veschoben werden?
sDestPath = "e:\"
 
' Vorgang starten
Set Folder = FSO.GetFolder(sFolderPath)
Folder.Move sDestPath

Ordner löschen

' Ordner löschen
Dim FSO As New FileSystemObject
Dim Folder As Folder
Dim sFolderPath As String
Dim sDestPath As String
 
' Welcher Ordner soll gelöscht werden?
sFolderPath = "d:\temp\test\"
 
' Löschvorgang starten
Set Folder = FSO.GetFolder(sFolderPath)
 
' alles löschen
Folder.Delete True
 
' Ordner/Dateien nur löschen, wenn diese nicht
' schreibgeschützt sind
Folder.Delete False

Sie können das FileSystemObject auch per CreateObject-Anweisung verwenden. Dann muss nicht extra ein Verweis auf die Microsoft Scripting Runtime-DLL gesetzt werden.

Dim FSO As Object
Dim Folder As Object
 
On Error Resume Next
Set FSO = CreateObject("Scripting.FileSystemObject")
If Err <> 0 Then
  MsgBox "Scripting-Runtime DLL nicht vorhanden!"
Else
  Set Folder = FSO.GetFolder(...)
End If

Dieser Tipp wurde bereits 51.531 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
(einschl. Beispielprojekt!)

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