Schreibschutz von Dateien entfernen (mit Source)
Verfasst: 19.07.2005 17:32
Meckert er bei Euch auch rum bei Zeile 26?
PS: Ggfs. Pfad in letzter Zeile anpassen...
PS: Ggfs. Pfad in letzter Zeile anpassen...
Code: Alles auswählen
; German forum: http://robsite.de/php/pureboard/viewtopic.php?t=769&start=10
; Author: NicTheQuick
; Date: 13. December 2003
;Wenn Rekursion < 0, wird nur vom angegebenen Verzeichnis der Schreibschutz entfernt
;Wenn Rekursion >= 0, werden auch alle Unterverzeichnisse miteinbezogen.
Procedure SetReadOnlyFlagOff(Dir.s, Rekursion.l)
Protected Typ.l, Modus.l, Name.s, flags.l
If Right(Dir, 1) <> "\" : Dir = Dir + "\" : EndIf
flags = GetFileAttributes_(Dir)
SetFileAttributes_(Dir, flags & ~#FILE_ATTRIBUTE_READONLY)
If Rekursion < 0
Modus = 1 ;Ohne Rekursion
Rekursion = 0
Else
Modus = 2 ;Mit Rekursion
EndIf
If ExamineDirectory(Rekursion, Dir, "")
Repeat
Typ = NextDirectoryEntry()
Name = DirectoryEntryName()
If Name <> ".." And Name <> "."
Name = Dir + Name
flags = GetFileAttributes_(Name)
SetFileAttributes_(Name, flags & ~#FILE_ATTRIBUTE_READONLY)
Select Typ
Case 2 ;Verzeichnis
If Modus = 2
SetReadOnlyFlagOff(Name + "\", Rekursion + 1)
UseDirectory(Rekursion)
EndIf
EndSelect
EndIf
Until Typ = 0
EndIf
EndProcedure
SetReadOnlyFlagOff("c:\sichern\samples", 1) ; define here the path, for which the "ReadOnly" should be removed