Tipp 0012 Verzeichnisse erstellen und löschen
Autor/Einsender:
Datum:
  Michael Werner
24.04.2003
Entwicklungsumgebung:   VB.Net 2002
Framework:   1.0
Das Erstellen (auch mehrerer ineinander verschachtelter Verzeichnisse) und das Löschen von Verzeichnissen wird mit der im Namespace System.IO befindlichen Klasse Directory und deren Methoden CreateDirectory und Delete möglich. Nur das Löschen eines Verzeichnisses mit Inhalten scheint so nicht zu funktionieren. Wirft man aber einmal einen Blick auf die Überladungsliste der Methode Delete, wird schnell deutlich, dass durch eine Überladung mit einem zusätzlichen booleanschen Parameter auch dies kein Problem darstellt.
 
Imports System.IO
Imports System.IO.Path

Public Class Form1
  Inherits System.Windows.Forms.Form
Vom Windows Form Designer generierter Code
  Const sPath As String = "C:\Vb_fun\Test\"

  Private Sub Form1_Load(ByVal sender As System.Object, _
         ByVal e As System.EventArgs) Handles MyBase.Load
    Label1.Text = sPath & "Testfile.txt"
  End Sub

  Private Sub Button1_Click(ByVal sender As System.Object, _
         ByVal e As System.EventArgs) Handles Button1.Click

    MsgBox("Erstelle die Verzeichnisse Vb_fun\Test " & _
        "mit der Datei Testfile.txt", , "Erstellen")

    Try
      Directory.CreateDirectory(sPath)

      Dim StrWriter As StreamWriter = _
            File.CreateText(Path.Combine(sPath, "Testfile.txt"))
      StrWriter.Close()

      StatusBar1.Text = "Verzeichnisse " & _
            Path.GetDirectoryName(sPath) & _
            " und Testfile.txt wurden ERSTELLT."
      Button2.Enabled = True
      Button1.Enabled = False

    Catch except As Exception
      StatusBar1.Text = except.Message
    End Try
  End Sub

  Private Sub Button2_Click(ByVal sender As System.Object, _
         ByVal e As System.EventArgs) Handles Button2.Click

    Dim sDelPath As String = _
          Path.GetDirectoryName(Path.GetDirectoryName(sPath))
    Dim Ret As Long
    Ret = MessageBox.Show( _
        "Sind Sie sicher, dass Sie den Ordner " & sDelPath & _
        vbNewLine & _
        "mit allen Unterordnern vollständig löschen wollen?", _
        sDelPath & " wirklich löschen?", _
        MessageBoxButtons.YesNoCancel, MessageBoxIcon.Exclamation)
    If Ret <> vbYes Then Exit Sub

    Try
      Directory.Delete(sDelPath, True)
      StatusBar1.Text = _
            "Verzeichnis " & sDelPath & " wurde GELÖSCHT."
      Button2.Enabled = False
      Button1.Enabled = True

    Catch except As Exception
      StatusBar1.Text = except.Message
    End Try
  End Sub

  Private Sub Button3_Click(ByVal sender As System.Object, _
         ByVal e As System.EventArgs) Handles Button3.Click
    If Directory.Exists(Path.GetDirectoryName( _
          Path.GetDirectoryName(sPath))) Then
      StatusBar1.Text = "Das Verzeichnis Vb_fun EXISTIERT."
    Else
      StatusBar1.Text = "Das Verzeichnis Vb_fun existiert NICHT."
    End If
  End Sub

  Private Sub Button4_Click(ByVal sender As System.Object, _
         ByVal e As System.EventArgs) Handles Button4.Click
    Me.Close()
  End Sub
End Class
 
Links zum Thema
Verzeichnisse (Ordner) überwachen
Verzeichnisgröße auslesen

Windows-Version
98/SE
ME
NT
2000
XP
Vista
Win 7


Download  (6,6 kB) Downloads bisher: [ 1310 ]

Vorheriger Tipp Zum Seitenanfang Nächster Tipp

Startseite | Tipps | Projekte | Tutorials | Bücherecke | VB-/VBA-Tipps | API-Referenz | Komponenten | VB.Net-Forum | VB/VBA-Forum | DirectX-Forum | Foren-Archiv | DirectX | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum

Seite empfehlen Bug-Report
Letzte Aktualisierung: Samstag, 21. Januar 2012