vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 2.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2015
 
zurück
Rubrik: Dateisystem · Dateien allgemein   |   VB-Versionen: VB4, VB5, VB611.10.02
Schreibschutz setzen/entfernen

In Verbindung mit der VBEx32.DLL lässt sich schnell und einfach der Schreibschutz eines gesamten Ordners setzen oder entfernen.

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

Summer-Special bei Tools & Components!
Gute Laune Sommer bei Tools & Components
Top Summer-Special - Sparen Sie teilweise über 100,- EUR
Alle sev-Entwicklerkomponenten und Komplettpakete jetzt bis zu 25% reduziert!
zum Beispiel:
  • Developer CD nur 455,- EUR statt 569,- EUR
  • sevDTA 2.0 nur 224,30 EUR statt 299,- EUR
  •  
  • vb@rchiv   Vol.6 nur 18,70 EUR statt 24,95 EUR
  • sevCoolbar 3.0 nur 58,70 EUR statt 69,- EUR
  • - Werbung -Und viele weitere Angebote           Aktionspreise nur für kurze Zeit gültig

    Den Schreibschutz einer einzelnen Datei zu entfernen geht so:

    Dim nAttr As Long
    nAttr = (GetAttr(sFilename) And Not vbReadOnly)
    SetAttr sFilename, nAttr

    Der Schreibschutz eines Ordners (ohne Dateien) lässt sich wie folgt entfernen:

    SetAttr sFolder, vbNormal

    Was aber, wenn man den Schreibschutz eines Ordners inkl. aller darin enthaltenen Dateien und Unterordner entfernen möchte?

    Nun ja, man entfernt zunächst den Schreibschutz des Ordners und ermittelt dann alle Unterordner mitsamt aller darin enthaltener Dateien.

    Das ganze lässt sich z.B. über eine rekursive Funktion realisieren. Ich persönlich verwende für solche Zwecke sehr gerne die VBFOLDER... und VBFILE...-Funktionen unserer  VBEx32.DLL.

    Und das Ergebnis sieht dann so aus:

    Dim sFolders() As String
    Dim nCount As Long
    Dim i As Long
     
    ' Start-Ordner
    Dim sPath As String
    sPath = "d:\temp"
     
    ' Start-Ordner...
    Folder_SetReadOnly sPath, False
     
    ' jetzt alle Unterordner ermitteln
    nCount = VBEX_FolderCount(sPath, 1)
    If nCount >= 0 Then
      ReDim Preserve sFolders(nCount)
      nCount = VBEX_FolderList(sPath, 1, sFolders())
     
      ' Array durchlaufen und Schreibschutz entfernen
      For i = 0 To nCount
        Folder_SetReadOnly sPath & sFolders(i), False
      Next i
    End If
    Private Sub Folder_SetReadOnly(ByVal sPath As String, _
      Optional ByVal bReadOnly = False)
     
      ' Schreibschutz aller Dateien eines Ordners
      ' setzen / entfernen
     
      Dim sFiles() As String
      Dim nCount As Long
      Dim i As Long
      Dim nBytes As Currency
      Dim nAttr As Long
     
      ' zunächst Schreibschutz des Ordners setzen/entfernen
      SetAttr sPath, IIf(bReadOnly, vbReadOnly, vbNormal)
     
      ' jetzt alle Dateien ermitteln
      nCount = VBEX_FileCount(sPath, 0, "*.*", nBytes)
      If nCount >= 0 Then
        ReDim Preserve sFiles(nCount)
        nCount = VBEX_FileList(sPath, 0, "*.*", sFiles(), nBytes)
     
        ' Array durchlaufen und Schreibschutz setzen/entfernen
        If Right$(sPath, 1) <> "\" Then sPath = sPath & "\"
        For i = 0 To nCount
          nAttr = (GetAttr(sPath & sFiles(i)))
          If bReadOnly Then
            nAttr = (nAttr Or vbReadOnly)
          Else
            nAttr = (nAttr And Not vbReadOnly)
          End If
          SetAttr sPath & sFiles(i), nAttr
        Next i
      End If
    End Sub

    Dieser Tipp wurde bereits 17.949 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-2015 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