Skip to content
⌘ NSIS Forum Archive

Recursively copy directory

1 posts

synox#

Recursively copy directory

I would like to include java into my package.

Source Location: d:\java6
Target on installation: c:\progs\myapp\java6

The source location is stored in the variable ${JAVA}. The value changes often and is auto-generated when creating the NSIS-script.

What I got so far:

Section "Java Binaries" SEC0001
SetOutPath $INSTDIR\java6
File /r ${JAVA}\*.*
SectionEnd
This works. But i would like to have the target directory name intact - so that java5 is installed to d:\java5 and java7 is installed to d:\java7.

Is there any way to do is in NSIS?

---------------

What also partly worked was:

Section "Java Binaries" SEC0001
SetOutPath $INSTDIR
File /r ${JAVA}
SectionEnd
But this scanned the whole D:\ drive for the given folder, which is just too much. I read the 'File' command options. Did I overlook any option? Or is there a command to extract path segments to build a workaround?

If I had a free wish, I would like a /nopattern option in the File command, so that it would do as beginners may expect.

Thank you very much for any help.