在做安裝包的時候,有時候需要將文件夾以及文件夾下面所包含的所有文件夾和文件都拷貝到目標文件夾,一下有兩種方法可以連同文件夾一起拷貝:
各文件的位置如下:
其中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” 代表遞歸復制的意思。
源文件中的“\” 表示文件夾中的內容,如果加上“\”表示復制文件夾中的內容,不加就是連同文件夾一起復制。
目標文件夾中,如果目標文件夾不存在,則會創建這個文件夾。