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

相关推荐
用户298698530142 小时前
.NET 文档自动化:Spire.Doc 设置奇偶页页眉/页脚的最佳实践
后端·c#·.net
用户3667462526742 小时前
接口文档汇总 - 2.设备状态管理
c#
用户3667462526742 小时前
接口文档汇总 - 3.PLC通信管理
c#
Ray Liang1 天前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
Scout-leaf4 天前
WPF新手村教程(三)—— 路由事件
c#·wpf
用户298698530144 天前
程序员效率工具:Spire.Doc如何助你一键搞定Word表格排版
后端·c#·.net
mudtools5 天前
搭建一套.net下能落地的飞书考勤系统
后端·c#·.net
玩泥巴的6 天前
搭建一套.net下能落地的飞书考勤系统
c#·.net·二次开发·飞书
唐宋元明清21886 天前
.NET 本地Db数据库-技术方案选型
windows·c#
lindexi6 天前
dotnet DirectX 通过可等待交换链降低输入渲染延迟
c#·directx·d2d·direct2d·vortice