DirState
From NSIS Wiki
| Author: Instructor (talk, contrib) |
[edit] Page for NSIS 2.07 and below users
You can use the latest version of headers (recommended) or the following function code (put the function code in your script before calling it)
[edit] Function Description
____________________________________________________________________________
DirState
____________________________________________________________________________
Check directory full, empty or not exist.
Syntax:
${DirState} "[path]" $var
"[path]" ; Directory
$var ; Result:
; $var=0 (empty)
; $var=1 (full)
; $var=-1 (directory not found)
Example:
Section ${DirState} "$TEMP" $R0 ; $R0="1" directory is full SectionEnd
[edit] Function Code
Function DirState !define DirState `!insertmacro DirStateCall` !macro DirStateCall _PATH _RESULT Push `${_PATH}` Call DirState Pop ${_RESULT} !macroend Exch $0 Push $1 ClearErrors FindFirst $1 $0 '$0\*.*' IfErrors 0 +3 StrCpy $0 -1 goto end StrCmp $0 '.' 0 +4 FindNext $1 $0 StrCmp $0 '..' 0 +2 FindNext $1 $0 FindClose $1 IfErrors 0 +3 StrCpy $0 0 goto end StrCpy $0 1 end: Pop $1 Exch $0 FunctionEnd

