VS生成事件
VS生成后事件
一、编辑位置
打开项目,右击项目,打开属性—>配置属性–>生成事件,如图所示:
----
二、设置目的
为了提高编译生成后的事件效率,不需要手动的拷贝到固定目录。
三、编辑生成事件
-
点击“编辑后期生成”,进入编辑事件界面,如图所示:
-
可以在其中直接填入copy,xcopy等DOS文件复制命令
将一份或多份文件复制到另一个位置。 COPY [/D] [/V] [/N] [/Y|/-Y] [/Z] [/L] [/A|/B ] source [/A | /B] [+source [/A | /B] [+ ...]] [destination [/A | /B]] source 指定要复制的文件。 /A 表示一个 ASCII 文本文件。 /B 表示一个二进位文件。 /D 允许解密要创建的目标文件destination 为新文件指定目录和/或文件名。 /V 验证新文件写入是否正确。 /N 复制带有非 8dot3 名称的文件时,尽可能使用短文件名。 /Y 不使用确认是否要覆盖现有目标文件的提示。 /-Y 使用确认是否要覆盖现有目标文件的提示。 /Z 用可重新启动模式复制已联网的文件。 /L 如果源是符号链接,请将链接复制
复制文件和目录树。 XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W][/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U][/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B][/EXCLUDE:file1[+file2][+file3]...] source 指定要复制的文件。 destination 指定新文件的位置和/或名称。 /A 仅复制有存档属性集的文件,但不更改属性。 /M 仅复制有存档属性集的文件,并关闭存档属性。 /D:m-d-y 复制在指定日期或指定日期以后更改的文件。如果没有提供日期,只复制那些源时间 比目标时间新的文件。 /EXCLUDE:file1[+file2][+file3]... 指定含有字符串的文件列表。每个字符串在文件中应位于单独的一行。如果任何字符 串与复制文件的绝对路径的任何部分相符,则排除复制该文件。例如,指定如 \obj\ 或 .obj 的字符串会分别排除目录obj 下面的所有文件或带有 .obj 扩展名的所有文 件。 /P 创建每个目标文件之前提示您。 /S 复制目录和子目录,不包括空目录。 /E 复制目录和子目录,包括空目录。与 /S /E 相同。可以用来修改 /T。 /V 验证每个新文件的大小。 /W 提示您在复制前按键。 /C 即使有错误,也继续复制。 /I 如果目标不存在,且要复制多个文件,则假定目标必须是目录。 /Q 复制时不显示文件名。 /F 复制时显示完整的源文件名和目标文件名。 /L 显示要复制的文件。 /G 允许将加密文件复制到不支持加密的目标。 /H 也复制隐藏文件和系统文件。 /R 覆盖只读文件。 /T 创建目录结构,但不复制文件。不包括空目录或子目录。/T /E 包括空目录和子目录。 /U 只复制已经存在于目标中的文件。 /K 复制属性。一般的 Xcopy 会重设只读属性。 /N 用生成的短名称复制。 /O 复制文件所有权和 ACL 信息。 /X 复制文件审核设置(隐含 /O)。 /Y 取消提示以确认要覆盖现有目标文件。 /-Y 要提示以确认要覆盖现有目标文件。 /Z 在可重新启动模式下复制网络文件。 /B 复制符号链接本身与链接目标相对。 /J 复制时不使用缓冲的 I/O。推荐复制大文件时使用。
xcopy "$(TargetPath)" "E:\IOTSCADA\scada\DIMS_2\" /Y
解释:从前面文件夹中复制全部到后面的文件夹中
四、VS官方帮助网站提供了详尽的的宏命令使用说明与参考
宏 | 说明 |
---|---|
$(ConfigurationName) | 当前项目配置的名称,例如,“调试”。 |
$(OutDir) | 相对于项目目录的输出文件目录的路径。 这解析为输出目录属性的值。 它包括尾随反斜杠“\”。 |
$(DevEnvDir) | Visual Studio 的安装目录(使用驱动器和路径进行定义);包括尾随反斜杠“\”。 |
$(PlatformName) | 当前目标平台的名称。 例如,“AnyCPU”。 |
$(ProjectDir) | 项目的目录(使用驱动器和路径进行定义);包括尾随反斜杠“\”。 |
$(ProjectPath) | 项目的绝对路径名称(使用驱动器、路径、基名称和文件扩展名进行定义)。 |
$(ProjectName) | 项目的基名称。 |
$(ProjectFileName) | 项目的文件名称(使用基名称和文件扩展名进行定义)。 |
$(ProjectExt) | 项目的文件扩展名。 文件扩展名之前包括“.”。 |
$(SolutionDir) | 解决方案的目录(使用驱动器和路径进行定义);包括尾随反斜杠“\”。 |
$(SolutionPath) | 解决方案的绝对路径(使用驱动器、路径、基名称和文件扩展名进行定义)。 |
$(SolutionName) | 解决方案的基名称。 |
$(SolutionFileName) | 解决方案的文件名称(使用基名称和文件扩展名进行定义)。 |
$(SolutionExt) | 解决方案的文件扩展名。文件扩展名之前包括“.”。 |
$(TargetDir) | 生成的主输出文件的目录(使用驱动器和路径进行定义)。它包括尾随反斜杠“\”。 |
$(TargetPath) | 生成的主输出文件的绝对路径名称(使用驱动器、路径、基名称和文件扩展名进行定义)。 |
$(TargetName) | 生成的主输出文件的基名称。$(TargetFileName) 生成的主输出文件的文件名称(使用基名称和文件扩展名进行定义)。 |
称和文件扩展名进行定义)。 | |
$(TargetName) | 生成的主输出文件的基名称。$(TargetFileName) 生成的主输出文件的文件名称(使用基名称和文件扩展名进行定义)。 |
$(TargetExt) | 生成的主输出文件的文件扩展名。文件扩展名之前包括“.”。 |