Copy a directory using NSIS .

installation, nsis, windows

Solution

The syntax is same for both directory and file, except that you need to specify a directory by providing a `\` at the end. `File` command copies the directory if the specified argument is a directory. For eg, you can do:

SetOutPath "outputPath"
File "myDirectory\" #note back slash at the end

But that copies only the top level directory. To recursively do it, you have `/r` switch

SetOutPath "outputPath"
File /nonfatal /a /r "myDirectory\" #note back slash at the end

which copies the contents of `myDirectory` (but not `myDirectory` folder itself). `/nonfatal` ignores without an error if there is no particular directory. `/a` copies file attributes as well. `/x` switch is used to exclude files.

Otherwise,

SetOutPath "outputPath\myDirectory"
File /nonfatal /a /r "myDirectory\" #note back slash at the end

copies all the contents of `myDirectory` including `myDirectory` folder to `outputPath`.

Problem

I can't seem to find any information about how to copy a directory using NSIS ?, i know there is a file command but is there any command to copy a directory .

Original source