Hallo,
nachdem ich diese Funktion immer wieder bei mir intern gebraucht habe, habe ich mir gedacht, diese als UDF mal hochzuladen.
Die Funktion funktioniert folgendermaßen: man will einen Ordner auf Beschreibbarkeit prüfen. Dabei wird eine versteckte Datei in dem Ordner, der als Parameter übergeben wurde, erstellt. Wenn diese nicht existiert, ist der Ordner logischerweise nicht beschreibbar. Sonst schon. (Existiert der Ordner nicht, wird zusätzlich als ErrorCode noch 1 rausgehauen und 0 zurückgegeben, wie wenn der Ordner nicht beschreibbar ist. Sonst ist der Rückgabewert bei Beschreibbarkeit 1).
Anbei der Code:
AutoIt
; #FUNCTION# ======================================================================================================================
; Name ..........: _FolderIsWriteable
; Description ...: Checks if a folder exists. If yes, by creating and validating a file the folder is checked for writing-ability.
; Syntax ........: $var = _FolderIsWriteable($dir)
; Parameters ....: $dir - a string value
; Return values .: 0 if directory does not exist (additionally error code 1) or is not writeable / 1 if directory is writeable
; Author ........: olfibits (Florian Schieder)
; Modified ......: 02/07/2017
; Remarks .......: --
; Related .......: --
; Link ..........: --
; Example .......: No
; =================================================================================================================================
Func _FolderIsWriteable($dir)
If Not FileExists($dir) Then
SetError(1) ; invalid parameter 1
Return 0
Else
$path = $dir & "\isWriteable.tmp"
FileWriteLine($path, ".") ; "Create" file
FileSetAttrib($path, "+h") ; Hide file
If FileExists($path) Then
FileDelete($path) ; delete the temp file
Return 1 ; if file exists, directory is writeable.
Else
; deleting the temp file is not necessary here.
Return 0 ; if file does not exist, directory is not writeable.
EndIf
EndIf
EndFunc
Alles anzeigen
Diese Funktion ist für jegliche Integration in freie oder kommerzielle Software freigegeben.
MfG Olfibits