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

各文件的位置如下:

其中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. 【JVM】学习JVM垃圾回收理论

    参考链接:https://www.cnblogs.com/aspirant/p/8662690.html 一,垃圾回收算法 JVM内存结构:程序计数器.虚拟机栈.本地方法栈.堆区.方法区 1,引用计数 ...

  2. curl 命令工具

    curl工具 简介 curl是基于URL语法在命令行方式下工作的文件传输工具,它支持FTP, FTPS,HTTP, HTTPS, GOPHER, TELNET, DICT, FILE及LDAP等协议. ...

  3. 关于elementui 面包屑设置

    后台管理面包屑 新建组件 <template> <el-breadcrumb separator-class="el-icon-arrow-right"> ...

  4. Linux日常指令

    Linux: https://man.linuxde.net/     Linux命令大全  基础指令 终端输入: #shutdown -h now : 立即关机   #ls: 显示路径下所有的文件: ...

  5. 1903021126 申文骏 Java 第三周作业 编写代码及运行

    项目 内容 课程班级博客链接 19级信计班(本) 作业要求链接 第三周作业要求 博客名称 1903021126 申文骏 Java 第三周作业 编写代码及运行 要求 每道题要有题目,代码(使用插入代码, ...

  6. Jetpack compose学习笔记之列表(布局)

    一,简介 Jetpack compose中的布局主要分为Column,Row,Box. 二,Column创建的列表 Column创建list时,不管内容是在屏幕内还是屏幕外,都会将list的内容全部创 ...

  7. int 和vachar后面的数字代表的含义

    在创建数据表的时候,我们经常会给每一个字段设置一个长度,例如:int(5).varchar(10) 等等,但是他们代表的意思是什么呢?是该列允许存储值的最大宽度吗? 场景1:为什么我设置成 int(1 ...

  8. error: You must be logged in to the server (Unauthorized) 问题处理

    故障现象: 执行kubectl 命令时: 提示"error: You must be logged in to the server (Unauthorized)" 分析: 权限问 ...

  9. 面向对象ooDay9

    精华笔记: 多态:多种形态 同一个对象被造型为不同的类型时,有不同的功能-------所有对象都是多态的(明天总结详细讲) 对象的多态:水.我.你...... 同一类型的引用在指向不同的对象时,有不同 ...

  10. PyCharm2018 不使用IPython 不成功--一直显示连接控制台

    每次关闭PyCharm时,都提示有后台任务在运行,一开始不知道怎么回事. 另外,发现底部的,python 控制台,启动pycharm时总有错误信息. 后来发现底部状态栏,显示1个 进程在运行. 2个地 ...