在做安装包的时候,有时候需要将文件夹以及文件夹下面所包含的所有文件夹和文件都拷贝到目标文件夹,一下有两种方法可以连同文件夹一起拷贝:
各文件的位置如下:
其中src 文件夹下的文件如下:
一开始dst 文件夹为空。
1. 直接压缩文件夹到目标文件夹
SetOutPath "C:\NSIS-TEST\dst"
File /r "src"
结果是将文件夹src连同其下所有文件考入到dst :
2. 写出目标文件夹,压缩的时候加入“\”表示内容。
SetOutPath "C:\NSIS-TEST\dst\src"
File /r "src\"
3. 其他情况测试
3.1 dst 为空,压缩"src\"
SetOutPath "C:\NSIS-TEST\dst"
File /r "src\"
结果如下:将src 下所有的文件夹和文件都考到了dst .(但是不包括src 文件夹)
3.2 dst 下有个空的文件夹src,压缩"src\"
SetOutPath "C:\NSIS-TEST\dst\src"
File /r "src\"
结果如下:将src 文件夹下所有的文件和文件夹拷贝到dst\src 下。
3.2 dst 文件夹为空,将"src\"考到dst 下不存在的一个文件夹中"srcNEW"
SetOutPath "C:\NSIS-TEST\dst\srcNEW"
File /r "src\"
结果如下:将src 下所有的文件夹和文件拷贝到一个在dst 下新建的文件夹srcNEW 中
总结: 参数“r” 代表递归复制的意思。
源文件中的“\” 表示文件夹中的内容,如果加上“\”表示复制文件夹中的内容,不加就是连同文件夹一起复制。
目标文件夹中,如果目标文件夹不存在,则会创建这个文件夹。