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 文件。

相关推荐
xiaoshuaishuai83 小时前
C# AI实现PR处理、单元测试
开发语言·c#·log4j
LONGZHIQIN3 小时前
C#基础复习笔记
开发语言·笔记·c#
时代的狂5 小时前
如何理解 C#/.NET 的依赖注入与生命周期
c#·.net·依赖注入·控制反转
品尚公益团队6 小时前
C#在asp.net网页开发中的带cookie登录实现
前端·c#·asp.net
吴可可1236 小时前
C#自定义CAD多段线零件实体
c#
CallmeFoureyes6 小时前
使用 C# 提取 Word 文档中的表格数据
开发语言·c#·word
思麟呀6 小时前
在C++基础上理解CSharp-7
java·jvm·c++·c#
杰佛史彦明18 小时前
ElasticSearch中的分词器详解
大数据·elasticsearch·c#
czhc11400756639 小时前
710:CT分辨率;BGA;DBC;[ObservableProperty],[Required]
c#
我才是银古10 小时前
当 GIS 开发遇上 .NET:一个 GDAL 集成工具库的架构设计与实践
c#·gis·gdal