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

相关推荐
MyBFuture1 小时前
C#表格与定时器实战技巧
开发语言·windows·c#·visual studio
feifeigo1231 小时前
基于C#实现即时通讯工具
开发语言·c#
程序猿多布1 小时前
C# 密封类、密封方法、密封属性、密封事件、密封索引器
c#
张人玉2 小时前
西门子 S7 PLC 通信 WPF 应用分析笔记
笔记·c#·wpf·plc
刘97532 小时前
【第22天】22c#今日小结
开发语言·c#
张人玉2 小时前
整合 Sugar ORM 连接 SQLite 数据库到 WPF 折线图项目
数据库·sqlite·c#·wpf
SunnyDays10113 小时前
使用 C# 将 Excel 转换为 Markdown 表格(含单文件与批量转换)
c#·excel转markdown
wuk9983 小时前
C# Winform实现拼图游戏
windows·microsoft·c#
唐青枫3 小时前
深入理解 System.Lazy<T>:C#.NET 延迟初始化与线程安全
c#·.net
世洋Blog15 小时前
AStar算法基础学习总结
算法·面试·c#·astar·寻路