在做安装包的时候,有时候需要将文件夹以及文件夹下面所包含的所有文件夹和文件都拷贝到目标文件夹,一下有两种方法可以连同文件夹一起拷贝:

各文件的位置如下:

其中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” 代表递归复制的意思。

源文件中的“\” 表示文件夹中的内容,如果加上“\”表示复制文件夹中的内容,不加就是连同文件夹一起复制。

目标文件夹中,如果目标文件夹不存在,则会创建这个文件夹。

NSIS 将一整个文件夹拷贝的更多相关文章

  1. IO文件夹拷贝(文件内含有文件和文件夹)

    /** * 文件夹拷贝(文件内含有文件和文件夹) * * @param src * @param des */ private static void copy(String src, String ...

  2. linux两台服务器之间文件/文件夹拷贝

    跨服务器拷贝需要用到的命令是scp. ----------------------拷贝文件夹---------------------------------------------- 把当前文件夹t ...

  3. Java_文件夹拷贝

    一.思路 * 文件夹的拷贝 1.递归查找子孙级文件 2.文件复制 文件夹创建 二.代码 package com.ahd.File; import java.io.File; import java.i ...

  4. xampp 文件夹拷贝的注意事项。

    xampp可以同盘符拷贝,比如由A电脑的D:\XAMPP拷贝到B电脑的D:\XAMPP,此拷贝不用修改任何设置,当进行不同盘拷贝时,要修改apache和mysql下的一大堆conf文件,修改盘符: x ...

  5. linux服务器间文件夹拷贝

    要求,在A机器执行脚本,把A机器的某个目录文件拷贝到B机器. 第一版ftp实现: 1.A 机器先安装 ftp 客户端 $ sudo yum install ftp 2.B机器安装ftp服务端 $ su ...

  6. python文件处理-根据txt列表将文件从其他文件夹 拷贝到指定目录

    内容涉及:路径拼接,文件拷贝,内容追加(append) # !/usr/bin/python # -*- coding: UTF-8 -*- import pandas as pd import os ...

  7. mongoDB整个文件夹拷贝备份还原的坑

    现网有一个mongoDB数据库需要搬迁到新服务器,开发那边的要求是先搬迁现在的数据库过去,然后剩下的以后他们用程序同步. 数据库大楷20G左右,现网是主备仲裁的,停掉备点,拷贝了全部文件. 新服务器也 ...

  8. 两个linux之间拷贝文件及文件夹

    Linux为我们提供了两个用于文件copy的命令.一个是cp,一个是scp,可是他们略有不同,cp 主要是用于在同一台电脑上,在不同的文件夹之间来回copy文件 scp 主要是在不同的Linux系统之 ...

  9. Swift 拷贝文件夹,实现文件夹内容整体复制

    我们知道,在沙盒内,iOS要拷贝一个文件,可以使用 fileManager.copyItem(atPath: fullPath, toPath: fulltoPath) 方法简单实现,不过当我们要拷贝 ...

  10. VS2013 添加已有文件夹

    1.将现有项目或文件夹拷贝到指定目录下 2.解决方案右上有个显示所有文件的按钮 然后选中所有要添加的文件,右击

随机推荐

  1. React 事件绑定this指向

    1. 推荐:使用class的实例方法 class Hello extends React.Component { handleClick = () => { this.setState({ .. ...

  2. 如何打开windows的服务services.msc

    两种开启方式:services.msc 方法一:点击win+r回车,而后输入services.msc 回车就OK了. 方法二:手动开启:开始-运行,而后输入services.msc 回车就OK了.

  3. python_print 函数 (99乘法表)

    print 函数末尾自带换行: i = 1 while i <= 5: print("*") i += 1 执行结果: * * * * * 如果想实现不换行,可以使用拼接,或 ...

  4. Win10服务主机本地系统磁盘占用过高解决

    前言:发现电脑卡,磁盘被本地系统占用好多.把尝试过的方法都发一下. 1.尝试用了网上的关闭家庭组: win+R打开运行输入:services.msc  打开Windows服务管理器.找到HomeGro ...

  5. vue-webpack代理

    baseUrl 改为 '/api'

  6. elmentui 表单验证问题

    <template> <div class="container"> <el-form ref="ruleForm" :model ...

  7. elk安装(简)

    1.到官网下载对应的版本注意最好使用版本相同的3个软件 elasticsearch-6.8.7.rpm kibana-6.8.7-x86_64.rpm logstash-6.8.7.rpm 我这里使用 ...

  8. 利用python脚本统计和删除redis key

    该脚本扫描redis中所有的key,用于分析redis内存数据的key构成,扫描并保存文件,需要python支持redis模块. #!/usr/bin/env python # -*- coding: ...

  9. Python从dic中随机取值

    import random a = {'lab-1': '短视频', 'lab-1': '直播'} print(random.choice(list(a.keys()))) # 从keys的list中 ...

  10. Matlab|fastica遇到的问题

    fastica 1 安装 FastICA 在matlab代码实现以及运行结果by阳光idol 安装步骤博主阳光idol已经写的很清楚了 FastICA 在matlab代码实现.运行结果及错误调试方法 ...