You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.2 KiB
49 lines
1.2 KiB
4 years ago
|
; 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"'
|