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