vs脚本自动复制生成的文件至指定的位置

1,目标文件不存在时自动创建
text 复制代码
if not exist "$(SolutionDir)lib\" mkdir "$(SolutionDir)lib\"

关键参数说明

  • if not exist‌

    • ‌功能‌:检查指定路径是否存在。
    • ‌作用‌:若路径不存在,则执行后续命令(mkdir)。
    • ‌语法‌:if not exist "路径" 命令。
  • **$(SolutionDir)‌ **

    • 功能‌:Visual Studio 宏变量,表示解决方案目录(如 MySolution\)。
    • ‌作用‌:动态获取解决方案根路径。
    • ‌来源‌:MSBuild 宏定义(MSBuild.exe 文档)。
  • ‌mkdir‌

    • ‌功能‌:创建目录。
    • ‌作用‌:若目录不存在,则创建 lib 文件夹。
    • ‌语法‌:mkdir "路径"。
  • 执行流程

    复制代码
      ‌路径解析‌
          $(SolutionDir) → MySolution\(示例)
          ‌完整路径‌:MySolution\lib\
      ‌条件判断‌
          若 MySolution\lib\ 不存在,则执行 mkdir 命令。
          若目录已存在,命令无操作(避免重复创建)。
2,自动复制生成的dll文件
复制代码
copy /y "$(TargetDir)$(ProjectName).dll" "$(SolutionDir)lib\$(ProjectName).dll"

关键参数说明

  • ‌copy‌

    • ‌功能‌:用于复制文件的命令行工具。
    • ‌来源‌:Windows 命令提示符(CMD)内置命令。
  • /y‌

    • ‌功能‌:强制覆盖目标文件,跳过确认提示。
    • ‌作用‌:当目标文件已存在时,直接覆盖而不询问用户确认。
    • ‌来源‌:CMD 命令参数标准用法。
  • ‌"$(TargetDir)$(ProjectName).dll"‌

    $(TargetDir)‌

    功能‌:Visual Studio 宏变量,表示项目输出目录(如 bin\Debug\)。

    作用‌:动态获取项目编译后的 DLL 文件路径。

    ‌来源‌:MSBuild 宏定义(MSBuild.exe 文档)。

  • *$(ProjectName)‌

    ‌功能‌:Visual Studio 宏变量,表示项目名称(如 MyProject)。

    ‌作用‌:动态获取项目名称,确保文件名正确。

    ‌来源‌:MSBuild 宏定义(MSBuild.exe 文档)。

  • ‌".dll"‌

    ‌作用‌:指定文件扩展名,确保复制 DLL 文件。

    ‌"(SolutionDir)lib\$(ProjectName).dll"‌ ‌(SolutionDir)‌
    ‌功能‌:Visual Studio 宏变量,表示解决方案目录(如 MySolution\)。
    ‌作用‌:动态获取解决方案根路径。
    ‌来源‌:MSBuild 宏定义(MSBuild.exe 文档)。
    ‌"lib"‌
    ‌作用‌:指定子目录名,完整路径为 MySolution\lib\。
    ‌$(ProjectName)‌
    ‌作用‌:动态获取项目名称,确保目标文件名正确。
    ‌".dll"‌
    ‌作用‌:指定文件扩展名,确保复制 DLL 文件。

相关推荐
bugcome_com4 小时前
C# 程序结构详解:从 Hello World 开始
c#
唐梓航-求职中5 小时前
编程-技术-算法-leetcode-288. 单词的唯一缩写
算法·leetcode·c#
bugcome_com7 小时前
阿里云 OSS C# SDK 使用实践与参数详解
阿里云·c#
懒人咖17 小时前
缺料分析时携带用料清单的二开字段
c#·金蝶云星空
bugcome_com18 小时前
深入了解 C# 编程环境及其开发工具
c#
wfserial20 小时前
c#使用微软自带speech选择男声仍然是女声的一种原因
microsoft·c#·speech
阔皮大师1 天前
INote轻量文本编辑器
java·javascript·python·c#
kylezhao20191 天前
C# 中的 SOLID 五大设计原则
开发语言·c#
啦啦啦_99991 天前
Redis-5-doFormatAsync()方法
数据库·redis·c#
Porco.w1 天前
C#与三菱PLC FX5U通信
网络·c#