; SetFileAttributesDirectoryNormal v 1.1 ; Sets all the files in a given directory (and sub directories) to NORMAL attributes ; ; Usage: ${SetFileAttributesDirectoryNormal} DIRECTORY_TO_SET_NORMAL ; ; Macro and Define added by John T. Haller of PortableApps.com ; ; Uses function Attrib v1.1 ; http://nsis.sourceforge.net/Attrib ; By: Hendri Adriaens (HendriAdriaens@hotmail.com) ; Additions by hobbyscripter to enable recursion of sub-directories ; BSD License Function SetFileAttributesDirectoryNormal Exch $1 ; Dir Push $2 Push $3 FindFirst $2 $3 "$1\*.*" StrCmp $3 "" exitloop loop: StrCmp $3 "" exitloop StrCmp $3 "." next StrCmp $3 ".." next IfFileExists "$1\$3\*.*" 0 +4 Push "$1\$3" Call SetFileAttributesDirectoryNormal Goto next ; SetFileAttributes does not accept variables as attribute, ; so manually set this to the necessary value. SetFileAttributes "$1\$3" NORMAL next: FindNext $2 $3 Goto loop exitloop: FindClose $2 Pop $3 Pop $2 Pop $1 FunctionEnd !macro SetFileAttributesDirectoryNormal DIRECTORY_TO_SET_NORMAL Push `${DIRECTORY_TO_SET_NORMAL}` Call SetFileAttributesDirectoryNormal !macroend !define SetFileAttributesDirectoryNormal '!insertmacro "SetFileAttributesDirectoryNormal"'