File: fileExistChecks.nsh

package info (click to toggle)
spring 103.0%2Bdfsg2-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 43,720 kB
  • ctags: 63,685
  • sloc: cpp: 368,283; ansic: 33,988; python: 12,417; java: 12,203; awk: 5,879; sh: 1,846; xml: 655; perl: 405; php: 211; objc: 194; makefile: 77; sed: 2
file content (46 lines) | stat: -rw-r--r-- 1,372 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
; See http://nsis.sourceforge.net/Check_if_a_file_exists_at_compile_time for documentation

!macro !defineiffileexists _VAR_NAME _FILE_NAME
	!tempfile _TEMPFILE
	!ifdef NSIS_WIN32_MAKENSIS
		; Windows - cmd.exe
		!system 'if exist "${_FILE_NAME}" echo !define ${_VAR_NAME} > "${_TEMPFILE}"'
	!else
		; Posix - sh
		!system 'if [ -e "$(echo "${_FILE_NAME}" | sed -e "s_\\_\/_g")" ]; then echo "!define ${_VAR_NAME}" > "${_TEMPFILE}"; fi'
	!endif
	!include '${_TEMPFILE}'
	!delfile '${_TEMPFILE}'
	!undef _TEMPFILE
!macroend
!define !defineiffileexists "!insertmacro !defineiffileexists"


!macro !defineifdirexists _VAR_NAME _FILE_NAME
	!tempfile _TEMPFILE
	!ifdef NSIS_WIN32_MAKENSIS
		; Windows - cmd.exe
		!system 'if exist "${_FILE_NAME}\*.*" echo !define ${_VAR_NAME} > "${_TEMPFILE}"'
	!else
		; Posix - sh
		!system 'if [ -d "$(echo "${_FILE_NAME}" | sed -e "s_\\_\/_g")" ]; then echo "!define ${_VAR_NAME}" > "${_TEMPFILE}"; fi'
	!endif
	!include '${_TEMPFILE}'
	!delfile '${_TEMPFILE}'
	!undef _TEMPFILE
!macroend
!define !defineifdirexists "!insertmacro !defineifdirexists"


; Usage:
;${!defineiffileexists} FILE_EXISTS ".\to\check\file.txt"
;!ifdef FILE_EXISTS
;	!system 'echo "The file exists!"'
;	!undef FILE_EXISTS
;!endif
;
;${!defineifdirexists} DIR_EXISTS ".\to\check\dir"
;!ifdef DIR_EXISTS
;	!system 'echo "The dir exists!"'
;	!undef DIR_EXISTS
;!endif